 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

JDCLOUD CDN Operation And Query API
API related to CDN instances

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKCdn/CdnExecutor.h>

@implementation CdnClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"cdn.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 cdn  v1";
    _serviceName = @"cdn";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 cdn  v1";
    _serviceName = @"cdn";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"cdn.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 cdn  v1";
    _serviceName = @"cdn";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 cdn  v1";
    _serviceName = @"cdn";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}


/**
setOnlineBillingType sync request
@param setOnlineBillingTypeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setOnlineBillingTypeResponse` the request response data model
*/
-(NSDictionary*) setOnlineBillingTypeSyncWithRequest:(CdnSetOnlineBillingTypeRequest*) setOnlineBillingTypeRequest
{
CdnSetOnlineBillingTypeExecutor* excutor = [[CdnSetOnlineBillingTypeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setOnlineBillingTypeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetOnlineBillingTypeResponse* response = [[CdnSetOnlineBillingTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setOnlineBillingTypeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setOnlineBillingTypeAsyncWithRequest:(CdnSetOnlineBillingTypeRequest*) setOnlineBillingTypeRequest
                       completionHandler:(void(^)(int statusCode,CdnSetOnlineBillingTypeResponse* _Nullable setOnlineBillingTypeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetOnlineBillingTypeExecutor* excutor = [[CdnSetOnlineBillingTypeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setOnlineBillingTypeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetOnlineBillingTypeResponse* response = [[CdnSetOnlineBillingTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainGroupDetail sync request
@param queryDomainGroupDetailRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainGroupDetailResponse` the request response data model
*/
-(NSDictionary*) queryDomainGroupDetailSyncWithRequest:(CdnQueryDomainGroupDetailRequest*) queryDomainGroupDetailRequest
{
CdnQueryDomainGroupDetailExecutor* excutor = [[CdnQueryDomainGroupDetailExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainGroupDetailRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainGroupDetailResponse* response = [[CdnQueryDomainGroupDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainGroupDetailResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainGroupDetailAsyncWithRequest:(CdnQueryDomainGroupDetailRequest*) queryDomainGroupDetailRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainGroupDetailResponse* _Nullable queryDomainGroupDetailResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainGroupDetailExecutor* excutor = [[CdnQueryDomainGroupDetailExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainGroupDetailRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainGroupDetailResponse* response = [[CdnQueryDomainGroupDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWafBlackRuleSwitch sync request
@param queryWafBlackRuleSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWafBlackRuleSwitchResponse` the request response data model
*/
-(NSDictionary*) queryWafBlackRuleSwitchSyncWithRequest:(CdnQueryWafBlackRuleSwitchRequest*) queryWafBlackRuleSwitchRequest
{
CdnQueryWafBlackRuleSwitchExecutor* excutor = [[CdnQueryWafBlackRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWafBlackRuleSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafBlackRuleSwitchResponse* response = [[CdnQueryWafBlackRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWafBlackRuleSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWafBlackRuleSwitchAsyncWithRequest:(CdnQueryWafBlackRuleSwitchRequest*) queryWafBlackRuleSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWafBlackRuleSwitchResponse* _Nullable queryWafBlackRuleSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWafBlackRuleSwitchExecutor* excutor = [[CdnQueryWafBlackRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWafBlackRuleSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafBlackRuleSwitchResponse* response = [[CdnQueryWafBlackRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
operateLiveDomainIgnoreQueryString sync request
@param operateLiveDomainIgnoreQueryStringRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `operateLiveDomainIgnoreQueryStringResponse` the request response data model
*/
-(NSDictionary*) operateLiveDomainIgnoreQueryStringSyncWithRequest:(CdnOperateLiveDomainIgnoreQueryStringRequest*) operateLiveDomainIgnoreQueryStringRequest
{
CdnOperateLiveDomainIgnoreQueryStringExecutor* excutor = [[CdnOperateLiveDomainIgnoreQueryStringExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:operateLiveDomainIgnoreQueryStringRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateLiveDomainIgnoreQueryStringResponse* response = [[CdnOperateLiveDomainIgnoreQueryStringResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"operateLiveDomainIgnoreQueryStringResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)operateLiveDomainIgnoreQueryStringAsyncWithRequest:(CdnOperateLiveDomainIgnoreQueryStringRequest*) operateLiveDomainIgnoreQueryStringRequest
                       completionHandler:(void(^)(int statusCode,CdnOperateLiveDomainIgnoreQueryStringResponse* _Nullable operateLiveDomainIgnoreQueryStringResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnOperateLiveDomainIgnoreQueryStringExecutor* excutor = [[CdnOperateLiveDomainIgnoreQueryStringExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:operateLiveDomainIgnoreQueryStringRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateLiveDomainIgnoreQueryStringResponse* response = [[CdnOperateLiveDomainIgnoreQueryStringResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteHttpHeader sync request
@param deleteHttpHeaderRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteHttpHeaderResponse` the request response data model
*/
-(NSDictionary*) deleteHttpHeaderSyncWithRequest:(CdnDeleteHttpHeaderRequest*) deleteHttpHeaderRequest
{
CdnDeleteHttpHeaderExecutor* excutor = [[CdnDeleteHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteHttpHeaderRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteHttpHeaderResponse* response = [[CdnDeleteHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteHttpHeaderResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteHttpHeaderAsyncWithRequest:(CdnDeleteHttpHeaderRequest*) deleteHttpHeaderRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteHttpHeaderResponse* _Nullable deleteHttpHeaderResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteHttpHeaderExecutor* excutor = [[CdnDeleteHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteHttpHeaderRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteHttpHeaderResponse* response = [[CdnDeleteHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
disableWafBlackRules sync request
@param disableWafBlackRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `disableWafBlackRulesResponse` the request response data model
*/
-(NSDictionary*) disableWafBlackRulesSyncWithRequest:(CdnDisableWafBlackRulesRequest*) disableWafBlackRulesRequest
{
CdnDisableWafBlackRulesExecutor* excutor = [[CdnDisableWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:disableWafBlackRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableWafBlackRulesResponse* response = [[CdnDisableWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"disableWafBlackRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)disableWafBlackRulesAsyncWithRequest:(CdnDisableWafBlackRulesRequest*) disableWafBlackRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnDisableWafBlackRulesResponse* _Nullable disableWafBlackRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDisableWafBlackRulesExecutor* excutor = [[CdnDisableWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:disableWafBlackRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableWafBlackRulesResponse* response = [[CdnDisableWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWebProtectSettings sync request
@param queryWebProtectSettingsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWebProtectSettingsResponse` the request response data model
*/
-(NSDictionary*) queryWebProtectSettingsSyncWithRequest:(CdnQueryWebProtectSettingsRequest*) queryWebProtectSettingsRequest
{
CdnQueryWebProtectSettingsExecutor* excutor = [[CdnQueryWebProtectSettingsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWebProtectSettingsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWebProtectSettingsResponse* response = [[CdnQueryWebProtectSettingsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWebProtectSettingsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWebProtectSettingsAsyncWithRequest:(CdnQueryWebProtectSettingsRequest*) queryWebProtectSettingsRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWebProtectSettingsResponse* _Nullable queryWebProtectSettingsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWebProtectSettingsExecutor* excutor = [[CdnQueryWebProtectSettingsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWebProtectSettingsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWebProtectSettingsResponse* response = [[CdnQueryWebProtectSettingsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryGeoAreas sync request
@param queryGeoAreasRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryGeoAreasResponse` the request response data model
*/
-(NSDictionary*) queryGeoAreasSyncWithRequest:(CdnQueryGeoAreasRequest*) queryGeoAreasRequest
{
CdnQueryGeoAreasExecutor* excutor = [[CdnQueryGeoAreasExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryGeoAreasRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryGeoAreasResponse* response = [[CdnQueryGeoAreasResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryGeoAreasResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryGeoAreasAsyncWithRequest:(CdnQueryGeoAreasRequest*) queryGeoAreasRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryGeoAreasResponse* _Nullable queryGeoAreasResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryGeoAreasExecutor* excutor = [[CdnQueryGeoAreasExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryGeoAreasRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryGeoAreasResponse* response = [[CdnQueryGeoAreasResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryStatisticsTopUrl sync request
@param queryStatisticsTopUrlRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryStatisticsTopUrlResponse` the request response data model
*/
-(NSDictionary*) queryStatisticsTopUrlSyncWithRequest:(CdnQueryStatisticsTopUrlRequest*) queryStatisticsTopUrlRequest
{
CdnQueryStatisticsTopUrlExecutor* excutor = [[CdnQueryStatisticsTopUrlExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryStatisticsTopUrlRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsTopUrlResponse* response = [[CdnQueryStatisticsTopUrlResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryStatisticsTopUrlResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryStatisticsTopUrlAsyncWithRequest:(CdnQueryStatisticsTopUrlRequest*) queryStatisticsTopUrlRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryStatisticsTopUrlResponse* _Nullable queryStatisticsTopUrlResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryStatisticsTopUrlExecutor* excutor = [[CdnQueryStatisticsTopUrlExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryStatisticsTopUrlRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsTopUrlResponse* response = [[CdnQueryStatisticsTopUrlResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainConfigStatus sync request
@param queryDomainConfigStatusRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainConfigStatusResponse` the request response data model
*/
-(NSDictionary*) queryDomainConfigStatusSyncWithRequest:(CdnQueryDomainConfigStatusRequest*) queryDomainConfigStatusRequest
{
CdnQueryDomainConfigStatusExecutor* excutor = [[CdnQueryDomainConfigStatusExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainConfigStatusRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainConfigStatusResponse* response = [[CdnQueryDomainConfigStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainConfigStatusResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainConfigStatusAsyncWithRequest:(CdnQueryDomainConfigStatusRequest*) queryDomainConfigStatusRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainConfigStatusResponse* _Nullable queryDomainConfigStatusResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainConfigStatusExecutor* excutor = [[CdnQueryDomainConfigStatusExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainConfigStatusRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainConfigStatusResponse* response = [[CdnQueryDomainConfigStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveStatisticsAreaDataGroupBy sync request
@param queryLiveStatisticsAreaDataGroupByRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveStatisticsAreaDataGroupByResponse` the request response data model
*/
-(NSDictionary*) queryLiveStatisticsAreaDataGroupBySyncWithRequest:(CdnQueryLiveStatisticsAreaDataGroupByRequest*) queryLiveStatisticsAreaDataGroupByRequest
{
CdnQueryLiveStatisticsAreaDataGroupByExecutor* excutor = [[CdnQueryLiveStatisticsAreaDataGroupByExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveStatisticsAreaDataGroupByRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveStatisticsAreaDataGroupByResponse* response = [[CdnQueryLiveStatisticsAreaDataGroupByResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveStatisticsAreaDataGroupByResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveStatisticsAreaDataGroupByAsyncWithRequest:(CdnQueryLiveStatisticsAreaDataGroupByRequest*) queryLiveStatisticsAreaDataGroupByRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveStatisticsAreaDataGroupByResponse* _Nullable queryLiveStatisticsAreaDataGroupByResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveStatisticsAreaDataGroupByExecutor* excutor = [[CdnQueryLiveStatisticsAreaDataGroupByExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveStatisticsAreaDataGroupByRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveStatisticsAreaDataGroupByResponse* response = [[CdnQueryLiveStatisticsAreaDataGroupByResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getAllUpperNodeIpList sync request
@param getAllUpperNodeIpListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getAllUpperNodeIpListResponse` the request response data model
*/
-(NSDictionary*) getAllUpperNodeIpListSyncWithRequest:(CdnGetAllUpperNodeIpListRequest*) getAllUpperNodeIpListRequest
{
CdnGetAllUpperNodeIpListExecutor* excutor = [[CdnGetAllUpperNodeIpListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getAllUpperNodeIpListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetAllUpperNodeIpListResponse* response = [[CdnGetAllUpperNodeIpListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getAllUpperNodeIpListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getAllUpperNodeIpListAsyncWithRequest:(CdnGetAllUpperNodeIpListRequest*) getAllUpperNodeIpListRequest
                       completionHandler:(void(^)(int statusCode,CdnGetAllUpperNodeIpListResponse* _Nullable getAllUpperNodeIpListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetAllUpperNodeIpListExecutor* excutor = [[CdnGetAllUpperNodeIpListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getAllUpperNodeIpListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetAllUpperNodeIpListResponse* response = [[CdnGetAllUpperNodeIpListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setIpBlackList sync request
@param setIpBlackListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setIpBlackListResponse` the request response data model
*/
-(NSDictionary*) setIpBlackListSyncWithRequest:(CdnSetIpBlackListRequest*) setIpBlackListRequest
{
CdnSetIpBlackListExecutor* excutor = [[CdnSetIpBlackListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setIpBlackListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetIpBlackListResponse* response = [[CdnSetIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setIpBlackListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setIpBlackListAsyncWithRequest:(CdnSetIpBlackListRequest*) setIpBlackListRequest
                       completionHandler:(void(^)(int statusCode,CdnSetIpBlackListResponse* _Nullable setIpBlackListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetIpBlackListExecutor* excutor = [[CdnSetIpBlackListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setIpBlackListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetIpBlackListResponse* response = [[CdnSetIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateWafWhiteRule sync request
@param updateWafWhiteRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateWafWhiteRuleResponse` the request response data model
*/
-(NSDictionary*) updateWafWhiteRuleSyncWithRequest:(CdnUpdateWafWhiteRuleRequest*) updateWafWhiteRuleRequest
{
CdnUpdateWafWhiteRuleExecutor* excutor = [[CdnUpdateWafWhiteRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateWafWhiteRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWafWhiteRuleResponse* response = [[CdnUpdateWafWhiteRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateWafWhiteRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateWafWhiteRuleAsyncWithRequest:(CdnUpdateWafWhiteRuleRequest*) updateWafWhiteRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateWafWhiteRuleResponse* _Nullable updateWafWhiteRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateWafWhiteRuleExecutor* excutor = [[CdnUpdateWafWhiteRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateWafWhiteRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWafWhiteRuleResponse* response = [[CdnUpdateWafWhiteRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setDomainConfig sync request
@param setDomainConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setDomainConfigResponse` the request response data model
*/
-(NSDictionary*) setDomainConfigSyncWithRequest:(CdnSetDomainConfigRequest*) setDomainConfigRequest
{
CdnSetDomainConfigExecutor* excutor = [[CdnSetDomainConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setDomainConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetDomainConfigResponse* response = [[CdnSetDomainConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setDomainConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setDomainConfigAsyncWithRequest:(CdnSetDomainConfigRequest*) setDomainConfigRequest
                       completionHandler:(void(^)(int statusCode,CdnSetDomainConfigResponse* _Nullable setDomainConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetDomainConfigExecutor* excutor = [[CdnSetDomainConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setDomainConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetDomainConfigResponse* response = [[CdnSetDomainConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startDomain sync request
@param startDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startDomainResponse` the request response data model
*/
-(NSDictionary*) startDomainSyncWithRequest:(CdnStartDomainRequest*) startDomainRequest
{
CdnStartDomainExecutor* excutor = [[CdnStartDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStartDomainResponse* response = [[CdnStartDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startDomainAsyncWithRequest:(CdnStartDomainRequest*) startDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnStartDomainResponse* _Nullable startDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnStartDomainExecutor* excutor = [[CdnStartDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStartDomainResponse* response = [[CdnStartDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setFollowRedirect sync request
@param setFollowRedirectRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setFollowRedirectResponse` the request response data model
*/
-(NSDictionary*) setFollowRedirectSyncWithRequest:(CdnSetFollowRedirectRequest*) setFollowRedirectRequest
{
CdnSetFollowRedirectExecutor* excutor = [[CdnSetFollowRedirectExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setFollowRedirectRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetFollowRedirectResponse* response = [[CdnSetFollowRedirectResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setFollowRedirectResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setFollowRedirectAsyncWithRequest:(CdnSetFollowRedirectRequest*) setFollowRedirectRequest
                       completionHandler:(void(^)(int statusCode,CdnSetFollowRedirectResponse* _Nullable setFollowRedirectResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetFollowRedirectExecutor* excutor = [[CdnSetFollowRedirectExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setFollowRedirectRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetFollowRedirectResponse* response = [[CdnSetFollowRedirectResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setAccesskeyConfig sync request
@param setAccesskeyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setAccesskeyConfigResponse` the request response data model
*/
-(NSDictionary*) setAccesskeyConfigSyncWithRequest:(CdnSetAccesskeyConfigRequest*) setAccesskeyConfigRequest
{
CdnSetAccesskeyConfigExecutor* excutor = [[CdnSetAccesskeyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setAccesskeyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetAccesskeyConfigResponse* response = [[CdnSetAccesskeyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setAccesskeyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setAccesskeyConfigAsyncWithRequest:(CdnSetAccesskeyConfigRequest*) setAccesskeyConfigRequest
                       completionHandler:(void(^)(int statusCode,CdnSetAccesskeyConfigResponse* _Nullable setAccesskeyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetAccesskeyConfigExecutor* excutor = [[CdnSetAccesskeyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setAccesskeyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetAccesskeyConfigResponse* response = [[CdnSetAccesskeyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryBandWithArea sync request
@param queryBandWithAreaRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryBandWithAreaResponse` the request response data model
*/
-(NSDictionary*) queryBandWithAreaSyncWithRequest:(CdnQueryBandWithAreaRequest*) queryBandWithAreaRequest
{
CdnQueryBandWithAreaExecutor* excutor = [[CdnQueryBandWithAreaExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryBandWithAreaRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryBandWithAreaResponse* response = [[CdnQueryBandWithAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryBandWithAreaResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryBandWithAreaAsyncWithRequest:(CdnQueryBandWithAreaRequest*) queryBandWithAreaRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryBandWithAreaResponse* _Nullable queryBandWithAreaResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryBandWithAreaExecutor* excutor = [[CdnQueryBandWithAreaExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryBandWithAreaRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryBandWithAreaResponse* response = [[CdnQueryBandWithAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setRange sync request
@param setRangeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setRangeResponse` the request response data model
*/
-(NSDictionary*) setRangeSyncWithRequest:(CdnSetRangeRequest*) setRangeRequest
{
CdnSetRangeExecutor* excutor = [[CdnSetRangeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setRangeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetRangeResponse* response = [[CdnSetRangeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setRangeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setRangeAsyncWithRequest:(CdnSetRangeRequest*) setRangeRequest
                       completionHandler:(void(^)(int statusCode,CdnSetRangeResponse* _Nullable setRangeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetRangeExecutor* excutor = [[CdnSetRangeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setRangeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetRangeResponse* response = [[CdnSetRangeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainIpBlackList sync request
@param setLiveDomainIpBlackListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainIpBlackListResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainIpBlackListSyncWithRequest:(CdnSetLiveDomainIpBlackListRequest*) setLiveDomainIpBlackListRequest
{
CdnSetLiveDomainIpBlackListExecutor* excutor = [[CdnSetLiveDomainIpBlackListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainIpBlackListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainIpBlackListResponse* response = [[CdnSetLiveDomainIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainIpBlackListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainIpBlackListAsyncWithRequest:(CdnSetLiveDomainIpBlackListRequest*) setLiveDomainIpBlackListRequest
                       completionHandler:(void(^)(int statusCode,CdnSetLiveDomainIpBlackListResponse* _Nullable setLiveDomainIpBlackListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetLiveDomainIpBlackListExecutor* excutor = [[CdnSetLiveDomainIpBlackListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainIpBlackListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainIpBlackListResponse* response = [[CdnSetLiveDomainIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setCCProtectSwitch sync request
@param setCCProtectSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setCCProtectSwitchResponse` the request response data model
*/
-(NSDictionary*) setCCProtectSwitchSyncWithRequest:(CdnSetCCProtectSwitchRequest*) setCCProtectSwitchRequest
{
CdnSetCCProtectSwitchExecutor* excutor = [[CdnSetCCProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setCCProtectSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetCCProtectSwitchResponse* response = [[CdnSetCCProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setCCProtectSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setCCProtectSwitchAsyncWithRequest:(CdnSetCCProtectSwitchRequest*) setCCProtectSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetCCProtectSwitchResponse* _Nullable setCCProtectSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetCCProtectSwitchExecutor* excutor = [[CdnSetCCProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setCCProtectSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetCCProtectSwitchResponse* response = [[CdnSetCCProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryMonitor sync request
@param queryMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryMonitorResponse` the request response data model
*/
-(NSDictionary*) queryMonitorSyncWithRequest:(CdnQueryMonitorRequest*) queryMonitorRequest
{
CdnQueryMonitorExecutor* excutor = [[CdnQueryMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMonitorResponse* response = [[CdnQueryMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryMonitorAsyncWithRequest:(CdnQueryMonitorRequest*) queryMonitorRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryMonitorResponse* _Nullable queryMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryMonitorExecutor* excutor = [[CdnQueryMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMonitorResponse* response = [[CdnQueryMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveDomainApps sync request
@param queryLiveDomainAppsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveDomainAppsResponse` the request response data model
*/
-(NSDictionary*) queryLiveDomainAppsSyncWithRequest:(CdnQueryLiveDomainAppsRequest*) queryLiveDomainAppsRequest
{
CdnQueryLiveDomainAppsExecutor* excutor = [[CdnQueryLiveDomainAppsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveDomainAppsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainAppsResponse* response = [[CdnQueryLiveDomainAppsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveDomainAppsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveDomainAppsAsyncWithRequest:(CdnQueryLiveDomainAppsRequest*) queryLiveDomainAppsRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveDomainAppsResponse* _Nullable queryLiveDomainAppsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveDomainAppsExecutor* excutor = [[CdnQueryLiveDomainAppsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveDomainAppsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainAppsResponse* response = [[CdnQueryLiveDomainAppsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
disableWafWhiteRules sync request
@param disableWafWhiteRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `disableWafWhiteRulesResponse` the request response data model
*/
-(NSDictionary*) disableWafWhiteRulesSyncWithRequest:(CdnDisableWafWhiteRulesRequest*) disableWafWhiteRulesRequest
{
CdnDisableWafWhiteRulesExecutor* excutor = [[CdnDisableWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:disableWafWhiteRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableWafWhiteRulesResponse* response = [[CdnDisableWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"disableWafWhiteRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)disableWafWhiteRulesAsyncWithRequest:(CdnDisableWafWhiteRulesRequest*) disableWafWhiteRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnDisableWafWhiteRulesResponse* _Nullable disableWafWhiteRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDisableWafWhiteRulesExecutor* excutor = [[CdnDisableWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:disableWafWhiteRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableWafWhiteRulesResponse* response = [[CdnDisableWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createWafBlackRule sync request
@param createWafBlackRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createWafBlackRuleResponse` the request response data model
*/
-(NSDictionary*) createWafBlackRuleSyncWithRequest:(CdnCreateWafBlackRuleRequest*) createWafBlackRuleRequest
{
CdnCreateWafBlackRuleExecutor* excutor = [[CdnCreateWafBlackRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createWafBlackRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateWafBlackRuleResponse* response = [[CdnCreateWafBlackRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createWafBlackRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createWafBlackRuleAsyncWithRequest:(CdnCreateWafBlackRuleRequest*) createWafBlackRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateWafBlackRuleResponse* _Nullable createWafBlackRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateWafBlackRuleExecutor* excutor = [[CdnCreateWafBlackRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createWafBlackRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateWafBlackRuleResponse* response = [[CdnCreateWafBlackRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDomainGroup sync request
@param createDomainGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDomainGroupResponse` the request response data model
*/
-(NSDictionary*) createDomainGroupSyncWithRequest:(CdnCreateDomainGroupRequest*) createDomainGroupRequest
{
CdnCreateDomainGroupExecutor* excutor = [[CdnCreateDomainGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDomainGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateDomainGroupResponse* response = [[CdnCreateDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDomainGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDomainGroupAsyncWithRequest:(CdnCreateDomainGroupRequest*) createDomainGroupRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateDomainGroupResponse* _Nullable createDomainGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateDomainGroupExecutor* excutor = [[CdnCreateDomainGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDomainGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateDomainGroupResponse* response = [[CdnCreateDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWebProtectSwitch sync request
@param queryWebProtectSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWebProtectSwitchResponse` the request response data model
*/
-(NSDictionary*) queryWebProtectSwitchSyncWithRequest:(CdnQueryWebProtectSwitchRequest*) queryWebProtectSwitchRequest
{
CdnQueryWebProtectSwitchExecutor* excutor = [[CdnQueryWebProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWebProtectSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWebProtectSwitchResponse* response = [[CdnQueryWebProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWebProtectSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWebProtectSwitchAsyncWithRequest:(CdnQueryWebProtectSwitchRequest*) queryWebProtectSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWebProtectSwitchResponse* _Nullable queryWebProtectSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWebProtectSwitchExecutor* excutor = [[CdnQueryWebProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWebProtectSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWebProtectSwitchResponse* response = [[CdnQueryWebProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
wafQueryPvForAreaAndIp sync request
@param wafQueryPvForAreaAndIpRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `wafQueryPvForAreaAndIpResponse` the request response data model
*/
-(NSDictionary*) wafQueryPvForAreaAndIpSyncWithRequest:(CdnWafQueryPvForAreaAndIpRequest*) wafQueryPvForAreaAndIpRequest
{
CdnWafQueryPvForAreaAndIpExecutor* excutor = [[CdnWafQueryPvForAreaAndIpExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:wafQueryPvForAreaAndIpRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryPvForAreaAndIpResponse* response = [[CdnWafQueryPvForAreaAndIpResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"wafQueryPvForAreaAndIpResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)wafQueryPvForAreaAndIpAsyncWithRequest:(CdnWafQueryPvForAreaAndIpRequest*) wafQueryPvForAreaAndIpRequest
                       completionHandler:(void(^)(int statusCode,CdnWafQueryPvForAreaAndIpResponse* _Nullable wafQueryPvForAreaAndIpResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnWafQueryPvForAreaAndIpExecutor* excutor = [[CdnWafQueryPvForAreaAndIpExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:wafQueryPvForAreaAndIpRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryPvForAreaAndIpResponse* response = [[CdnWafQueryPvForAreaAndIpResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
operateIpBlackList sync request
@param operateIpBlackListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `operateIpBlackListResponse` the request response data model
*/
-(NSDictionary*) operateIpBlackListSyncWithRequest:(CdnOperateIpBlackListRequest*) operateIpBlackListRequest
{
CdnOperateIpBlackListExecutor* excutor = [[CdnOperateIpBlackListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:operateIpBlackListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateIpBlackListResponse* response = [[CdnOperateIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"operateIpBlackListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)operateIpBlackListAsyncWithRequest:(CdnOperateIpBlackListRequest*) operateIpBlackListRequest
                       completionHandler:(void(^)(int statusCode,CdnOperateIpBlackListResponse* _Nullable operateIpBlackListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnOperateIpBlackListExecutor* excutor = [[CdnOperateIpBlackListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:operateIpBlackListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateIpBlackListResponse* response = [[CdnOperateIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryMixStatisticsData sync request
@param queryMixStatisticsDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryMixStatisticsDataResponse` the request response data model
*/
-(NSDictionary*) queryMixStatisticsDataSyncWithRequest:(CdnQueryMixStatisticsDataRequest*) queryMixStatisticsDataRequest
{
CdnQueryMixStatisticsDataExecutor* excutor = [[CdnQueryMixStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryMixStatisticsDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixStatisticsDataResponse* response = [[CdnQueryMixStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryMixStatisticsDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryMixStatisticsDataAsyncWithRequest:(CdnQueryMixStatisticsDataRequest*) queryMixStatisticsDataRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryMixStatisticsDataResponse* _Nullable queryMixStatisticsDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryMixStatisticsDataExecutor* excutor = [[CdnQueryMixStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryMixStatisticsDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixStatisticsDataResponse* response = [[CdnQueryMixStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRefreshTask sync request
@param queryRefreshTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRefreshTaskResponse` the request response data model
*/
-(NSDictionary*) queryRefreshTaskSyncWithRequest:(CdnQueryRefreshTaskRequest*) queryRefreshTaskRequest
{
CdnQueryRefreshTaskExecutor* excutor = [[CdnQueryRefreshTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRefreshTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskResponse* response = [[CdnQueryRefreshTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRefreshTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRefreshTaskAsyncWithRequest:(CdnQueryRefreshTaskRequest*) queryRefreshTaskRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryRefreshTaskResponse* _Nullable queryRefreshTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryRefreshTaskExecutor* excutor = [[CdnQueryRefreshTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRefreshTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskResponse* response = [[CdnQueryRefreshTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDomainDetail sync request
@param getDomainDetailRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDomainDetailResponse` the request response data model
*/
-(NSDictionary*) getDomainDetailSyncWithRequest:(CdnGetDomainDetailRequest*) getDomainDetailRequest
{
CdnGetDomainDetailExecutor* excutor = [[CdnGetDomainDetailExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDomainDetailRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainDetailResponse* response = [[CdnGetDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDomainDetailResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDomainDetailAsyncWithRequest:(CdnGetDomainDetailRequest*) getDomainDetailRequest
                       completionHandler:(void(^)(int statusCode,CdnGetDomainDetailResponse* _Nullable getDomainDetailResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetDomainDetailExecutor* excutor = [[CdnGetDomainDetailExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDomainDetailRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainDetailResponse* response = [[CdnGetDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setNetProtectionRulesSwitch sync request
@param setNetProtectionRulesSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setNetProtectionRulesSwitchResponse` the request response data model
*/
-(NSDictionary*) setNetProtectionRulesSwitchSyncWithRequest:(CdnSetNetProtectionRulesSwitchRequest*) setNetProtectionRulesSwitchRequest
{
CdnSetNetProtectionRulesSwitchExecutor* excutor = [[CdnSetNetProtectionRulesSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setNetProtectionRulesSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetNetProtectionRulesSwitchResponse* response = [[CdnSetNetProtectionRulesSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setNetProtectionRulesSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setNetProtectionRulesSwitchAsyncWithRequest:(CdnSetNetProtectionRulesSwitchRequest*) setNetProtectionRulesSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetNetProtectionRulesSwitchResponse* _Nullable setNetProtectionRulesSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetNetProtectionRulesSwitchExecutor* excutor = [[CdnSetNetProtectionRulesSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setNetProtectionRulesSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetNetProtectionRulesSwitchResponse* response = [[CdnSetNetProtectionRulesSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
searchAttackLog sync request
@param searchAttackLogRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `searchAttackLogResponse` the request response data model
*/
-(NSDictionary*) searchAttackLogSyncWithRequest:(CdnSearchAttackLogRequest*) searchAttackLogRequest
{
CdnSearchAttackLogExecutor* excutor = [[CdnSearchAttackLogExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:searchAttackLogRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSearchAttackLogResponse* response = [[CdnSearchAttackLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"searchAttackLogResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)searchAttackLogAsyncWithRequest:(CdnSearchAttackLogRequest*) searchAttackLogRequest
                       completionHandler:(void(^)(int statusCode,CdnSearchAttackLogResponse* _Nullable searchAttackLogResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSearchAttackLogExecutor* excutor = [[CdnSearchAttackLogExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:searchAttackLogRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSearchAttackLogResponse* response = [[CdnSearchAttackLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryStatisticsDataGroupByArea sync request
@param queryStatisticsDataGroupByAreaRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryStatisticsDataGroupByAreaResponse` the request response data model
*/
-(NSDictionary*) queryStatisticsDataGroupByAreaSyncWithRequest:(CdnQueryStatisticsDataGroupByAreaRequest*) queryStatisticsDataGroupByAreaRequest
{
CdnQueryStatisticsDataGroupByAreaExecutor* excutor = [[CdnQueryStatisticsDataGroupByAreaExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryStatisticsDataGroupByAreaRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataGroupByAreaResponse* response = [[CdnQueryStatisticsDataGroupByAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryStatisticsDataGroupByAreaResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryStatisticsDataGroupByAreaAsyncWithRequest:(CdnQueryStatisticsDataGroupByAreaRequest*) queryStatisticsDataGroupByAreaRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryStatisticsDataGroupByAreaResponse* _Nullable queryStatisticsDataGroupByAreaResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryStatisticsDataGroupByAreaExecutor* excutor = [[CdnQueryStatisticsDataGroupByAreaExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryStatisticsDataGroupByAreaRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataGroupByAreaResponse* response = [[CdnQueryStatisticsDataGroupByAreaResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainAccessKey sync request
@param setLiveDomainAccessKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainAccessKeyResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainAccessKeySyncWithRequest:(CdnSetLiveDomainAccessKeyRequest*) setLiveDomainAccessKeyRequest
{
CdnSetLiveDomainAccessKeyExecutor* excutor = [[CdnSetLiveDomainAccessKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainAccessKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainAccessKeyResponse* response = [[CdnSetLiveDomainAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainAccessKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainAccessKeyAsyncWithRequest:(CdnSetLiveDomainAccessKeyRequest*) setLiveDomainAccessKeyRequest
                       completionHandler:(void(^)(int statusCode,CdnSetLiveDomainAccessKeyResponse* _Nullable setLiveDomainAccessKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetLiveDomainAccessKeyExecutor* excutor = [[CdnSetLiveDomainAccessKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainAccessKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainAccessKeyResponse* response = [[CdnSetLiveDomainAccessKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
querywafBlackRules sync request
@param querywafBlackRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `querywafBlackRulesResponse` the request response data model
*/
-(NSDictionary*) querywafBlackRulesSyncWithRequest:(CdnQuerywafBlackRulesRequest*) querywafBlackRulesRequest
{
CdnQuerywafBlackRulesExecutor* excutor = [[CdnQuerywafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:querywafBlackRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQuerywafBlackRulesResponse* response = [[CdnQuerywafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"querywafBlackRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)querywafBlackRulesAsyncWithRequest:(CdnQuerywafBlackRulesRequest*) querywafBlackRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnQuerywafBlackRulesResponse* _Nullable querywafBlackRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQuerywafBlackRulesExecutor* excutor = [[CdnQuerywafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:querywafBlackRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQuerywafBlackRulesResponse* response = [[CdnQuerywafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteForbiddenStream sync request
@param deleteForbiddenStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteForbiddenStreamResponse` the request response data model
*/
-(NSDictionary*) deleteForbiddenStreamSyncWithRequest:(CdnDeleteForbiddenStreamRequest*) deleteForbiddenStreamRequest
{
CdnDeleteForbiddenStreamExecutor* excutor = [[CdnDeleteForbiddenStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteForbiddenStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteForbiddenStreamResponse* response = [[CdnDeleteForbiddenStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteForbiddenStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteForbiddenStreamAsyncWithRequest:(CdnDeleteForbiddenStreamRequest*) deleteForbiddenStreamRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteForbiddenStreamResponse* _Nullable deleteForbiddenStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteForbiddenStreamExecutor* excutor = [[CdnDeleteForbiddenStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteForbiddenStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteForbiddenStreamResponse* response = [[CdnDeleteForbiddenStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setWafWhiteRuleSwitch sync request
@param setWafWhiteRuleSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setWafWhiteRuleSwitchResponse` the request response data model
*/
-(NSDictionary*) setWafWhiteRuleSwitchSyncWithRequest:(CdnSetWafWhiteRuleSwitchRequest*) setWafWhiteRuleSwitchRequest
{
CdnSetWafWhiteRuleSwitchExecutor* excutor = [[CdnSetWafWhiteRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setWafWhiteRuleSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafWhiteRuleSwitchResponse* response = [[CdnSetWafWhiteRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setWafWhiteRuleSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setWafWhiteRuleSwitchAsyncWithRequest:(CdnSetWafWhiteRuleSwitchRequest*) setWafWhiteRuleSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetWafWhiteRuleSwitchResponse* _Nullable setWafWhiteRuleSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetWafWhiteRuleSwitchExecutor* excutor = [[CdnSetWafWhiteRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setWafWhiteRuleSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafWhiteRuleSwitchResponse* response = [[CdnSetWafWhiteRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setPushIpWhiteList sync request
@param setPushIpWhiteListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setPushIpWhiteListResponse` the request response data model
*/
-(NSDictionary*) setPushIpWhiteListSyncWithRequest:(CdnSetPushIpWhiteListRequest*) setPushIpWhiteListRequest
{
CdnSetPushIpWhiteListExecutor* excutor = [[CdnSetPushIpWhiteListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setPushIpWhiteListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetPushIpWhiteListResponse* response = [[CdnSetPushIpWhiteListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setPushIpWhiteListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setPushIpWhiteListAsyncWithRequest:(CdnSetPushIpWhiteListRequest*) setPushIpWhiteListRequest
                       completionHandler:(void(^)(int statusCode,CdnSetPushIpWhiteListResponse* _Nullable setPushIpWhiteListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetPushIpWhiteListExecutor* excutor = [[CdnSetPushIpWhiteListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setPushIpWhiteListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetPushIpWhiteListResponse* response = [[CdnSetPushIpWhiteListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRefreshTaskByIds sync request
@param queryRefreshTaskByIdsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRefreshTaskByIdsResponse` the request response data model
*/
-(NSDictionary*) queryRefreshTaskByIdsSyncWithRequest:(CdnQueryRefreshTaskByIdsRequest*) queryRefreshTaskByIdsRequest
{
CdnQueryRefreshTaskByIdsExecutor* excutor = [[CdnQueryRefreshTaskByIdsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRefreshTaskByIdsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskByIdsResponse* response = [[CdnQueryRefreshTaskByIdsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRefreshTaskByIdsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRefreshTaskByIdsAsyncWithRequest:(CdnQueryRefreshTaskByIdsRequest*) queryRefreshTaskByIdsRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryRefreshTaskByIdsResponse* _Nullable queryRefreshTaskByIdsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryRefreshTaskByIdsExecutor* excutor = [[CdnQueryRefreshTaskByIdsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRefreshTaskByIdsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskByIdsResponse* response = [[CdnQueryRefreshTaskByIdsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryStatisticsDataGroupSum sync request
@param queryStatisticsDataGroupSumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryStatisticsDataGroupSumResponse` the request response data model
*/
-(NSDictionary*) queryStatisticsDataGroupSumSyncWithRequest:(CdnQueryStatisticsDataGroupSumRequest*) queryStatisticsDataGroupSumRequest
{
CdnQueryStatisticsDataGroupSumExecutor* excutor = [[CdnQueryStatisticsDataGroupSumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryStatisticsDataGroupSumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataGroupSumResponse* response = [[CdnQueryStatisticsDataGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryStatisticsDataGroupSumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryStatisticsDataGroupSumAsyncWithRequest:(CdnQueryStatisticsDataGroupSumRequest*) queryStatisticsDataGroupSumRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryStatisticsDataGroupSumResponse* _Nullable queryStatisticsDataGroupSumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryStatisticsDataGroupSumExecutor* excutor = [[CdnQueryStatisticsDataGroupSumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryStatisticsDataGroupSumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataGroupSumResponse* response = [[CdnQueryStatisticsDataGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setHttpHeader sync request
@param setHttpHeaderRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setHttpHeaderResponse` the request response data model
*/
-(NSDictionary*) setHttpHeaderSyncWithRequest:(CdnSetHttpHeaderRequest*) setHttpHeaderRequest
{
CdnSetHttpHeaderExecutor* excutor = [[CdnSetHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setHttpHeaderRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetHttpHeaderResponse* response = [[CdnSetHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setHttpHeaderResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setHttpHeaderAsyncWithRequest:(CdnSetHttpHeaderRequest*) setHttpHeaderRequest
                       completionHandler:(void(^)(int statusCode,CdnSetHttpHeaderResponse* _Nullable setHttpHeaderResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetHttpHeaderExecutor* excutor = [[CdnSetHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setHttpHeaderRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetHttpHeaderResponse* response = [[CdnSetHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryBand sync request
@param queryBandRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryBandResponse` the request response data model
*/
-(NSDictionary*) queryBandSyncWithRequest:(CdnQueryBandRequest*) queryBandRequest
{
CdnQueryBandExecutor* excutor = [[CdnQueryBandExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryBandRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryBandResponse* response = [[CdnQueryBandResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryBandResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryBandAsyncWithRequest:(CdnQueryBandRequest*) queryBandRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryBandResponse* _Nullable queryBandResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryBandExecutor* excutor = [[CdnQueryBandExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryBandRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryBandResponse* response = [[CdnQueryBandResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
checkWhetherIpBelongToJCloud sync request
@param checkWhetherIpBelongToJCloudRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `checkWhetherIpBelongToJCloudResponse` the request response data model
*/
-(NSDictionary*) checkWhetherIpBelongToJCloudSyncWithRequest:(CdnCheckWhetherIpBelongToJCloudRequest*) checkWhetherIpBelongToJCloudRequest
{
CdnCheckWhetherIpBelongToJCloudExecutor* excutor = [[CdnCheckWhetherIpBelongToJCloudExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:checkWhetherIpBelongToJCloudRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCheckWhetherIpBelongToJCloudResponse* response = [[CdnCheckWhetherIpBelongToJCloudResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"checkWhetherIpBelongToJCloudResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)checkWhetherIpBelongToJCloudAsyncWithRequest:(CdnCheckWhetherIpBelongToJCloudRequest*) checkWhetherIpBelongToJCloudRequest
                       completionHandler:(void(^)(int statusCode,CdnCheckWhetherIpBelongToJCloudResponse* _Nullable checkWhetherIpBelongToJCloudResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCheckWhetherIpBelongToJCloudExecutor* excutor = [[CdnCheckWhetherIpBelongToJCloudExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:checkWhetherIpBelongToJCloudRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCheckWhetherIpBelongToJCloudResponse* response = [[CdnCheckWhetherIpBelongToJCloudResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveStatisticsData sync request
@param queryLiveStatisticsDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveStatisticsDataResponse` the request response data model
*/
-(NSDictionary*) queryLiveStatisticsDataSyncWithRequest:(CdnQueryLiveStatisticsDataRequest*) queryLiveStatisticsDataRequest
{
CdnQueryLiveStatisticsDataExecutor* excutor = [[CdnQueryLiveStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveStatisticsDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveStatisticsDataResponse* response = [[CdnQueryLiveStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveStatisticsDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveStatisticsDataAsyncWithRequest:(CdnQueryLiveStatisticsDataRequest*) queryLiveStatisticsDataRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveStatisticsDataResponse* _Nullable queryLiveStatisticsDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveStatisticsDataExecutor* excutor = [[CdnQueryLiveStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveStatisticsDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveStatisticsDataResponse* response = [[CdnQueryLiveStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setOriginAuthentication sync request
@param setOriginAuthenticationRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setOriginAuthenticationResponse` the request response data model
*/
-(NSDictionary*) setOriginAuthenticationSyncWithRequest:(CdnSetOriginAuthenticationRequest*) setOriginAuthenticationRequest
{
CdnSetOriginAuthenticationExecutor* excutor = [[CdnSetOriginAuthenticationExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setOriginAuthenticationRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetOriginAuthenticationResponse* response = [[CdnSetOriginAuthenticationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setOriginAuthenticationResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setOriginAuthenticationAsyncWithRequest:(CdnSetOriginAuthenticationRequest*) setOriginAuthenticationRequest
                       completionHandler:(void(^)(int statusCode,CdnSetOriginAuthenticationResponse* _Nullable setOriginAuthenticationResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetOriginAuthenticationExecutor* excutor = [[CdnSetOriginAuthenticationExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setOriginAuthenticationRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetOriginAuthenticationResponse* response = [[CdnSetOriginAuthenticationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainsLog sync request
@param queryDomainsLogRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainsLogResponse` the request response data model
*/
-(NSDictionary*) queryDomainsLogSyncWithRequest:(CdnQueryDomainsLogRequest*) queryDomainsLogRequest
{
CdnQueryDomainsLogExecutor* excutor = [[CdnQueryDomainsLogExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainsLogRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainsLogResponse* response = [[CdnQueryDomainsLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainsLogResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainsLogAsyncWithRequest:(CdnQueryDomainsLogRequest*) queryDomainsLogRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainsLogResponse* _Nullable queryDomainsLogResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainsLogExecutor* excutor = [[CdnQueryDomainsLogExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainsLogRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainsLogResponse* response = [[CdnQueryDomainsLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
enableCCProtectRule sync request
@param enableCCProtectRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `enableCCProtectRuleResponse` the request response data model
*/
-(NSDictionary*) enableCCProtectRuleSyncWithRequest:(CdnEnableCCProtectRuleRequest*) enableCCProtectRuleRequest
{
CdnEnableCCProtectRuleExecutor* excutor = [[CdnEnableCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:enableCCProtectRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableCCProtectRuleResponse* response = [[CdnEnableCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"enableCCProtectRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)enableCCProtectRuleAsyncWithRequest:(CdnEnableCCProtectRuleRequest*) enableCCProtectRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnEnableCCProtectRuleResponse* _Nullable enableCCProtectRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnEnableCCProtectRuleExecutor* excutor = [[CdnEnableCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:enableCCProtectRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableCCProtectRuleResponse* response = [[CdnEnableCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveDomainDetail sync request
@param queryLiveDomainDetailRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveDomainDetailResponse` the request response data model
*/
-(NSDictionary*) queryLiveDomainDetailSyncWithRequest:(CdnQueryLiveDomainDetailRequest*) queryLiveDomainDetailRequest
{
CdnQueryLiveDomainDetailExecutor* excutor = [[CdnQueryLiveDomainDetailExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveDomainDetailRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainDetailResponse* response = [[CdnQueryLiveDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveDomainDetailResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveDomainDetailAsyncWithRequest:(CdnQueryLiveDomainDetailRequest*) queryLiveDomainDetailRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveDomainDetailResponse* _Nullable queryLiveDomainDetailResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveDomainDetailExecutor* excutor = [[CdnQueryLiveDomainDetailExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveDomainDetailRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainDetailResponse* response = [[CdnQueryLiveDomainDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setRefer sync request
@param setReferRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setReferResponse` the request response data model
*/
-(NSDictionary*) setReferSyncWithRequest:(CdnSetReferRequest*) setReferRequest
{
CdnSetReferExecutor* excutor = [[CdnSetReferExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setReferRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetReferResponse* response = [[CdnSetReferResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setReferResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setReferAsyncWithRequest:(CdnSetReferRequest*) setReferRequest
                       completionHandler:(void(^)(int statusCode,CdnSetReferResponse* _Nullable setReferResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetReferExecutor* excutor = [[CdnSetReferExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setReferRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetReferResponse* response = [[CdnSetReferResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryIpBlackSettingStatus sync request
@param queryIpBlackSettingStatusRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryIpBlackSettingStatusResponse` the request response data model
*/
-(NSDictionary*) queryIpBlackSettingStatusSyncWithRequest:(CdnQueryIpBlackSettingStatusRequest*) queryIpBlackSettingStatusRequest
{
CdnQueryIpBlackSettingStatusExecutor* excutor = [[CdnQueryIpBlackSettingStatusExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryIpBlackSettingStatusRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryIpBlackSettingStatusResponse* response = [[CdnQueryIpBlackSettingStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryIpBlackSettingStatusResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryIpBlackSettingStatusAsyncWithRequest:(CdnQueryIpBlackSettingStatusRequest*) queryIpBlackSettingStatusRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryIpBlackSettingStatusResponse* _Nullable queryIpBlackSettingStatusResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryIpBlackSettingStatusExecutor* excutor = [[CdnQueryIpBlackSettingStatusExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryIpBlackSettingStatusRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryIpBlackSettingStatusResponse* response = [[CdnQueryIpBlackSettingStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryStatisticsTopIp sync request
@param queryStatisticsTopIpRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryStatisticsTopIpResponse` the request response data model
*/
-(NSDictionary*) queryStatisticsTopIpSyncWithRequest:(CdnQueryStatisticsTopIpRequest*) queryStatisticsTopIpRequest
{
CdnQueryStatisticsTopIpExecutor* excutor = [[CdnQueryStatisticsTopIpExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryStatisticsTopIpRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsTopIpResponse* response = [[CdnQueryStatisticsTopIpResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryStatisticsTopIpResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryStatisticsTopIpAsyncWithRequest:(CdnQueryStatisticsTopIpRequest*) queryStatisticsTopIpRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryStatisticsTopIpResponse* _Nullable queryStatisticsTopIpResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryStatisticsTopIpExecutor* excutor = [[CdnQueryStatisticsTopIpExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryStatisticsTopIpRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsTopIpResponse* response = [[CdnQueryStatisticsTopIpResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createLiveDomainPrefecthTask sync request
@param createLiveDomainPrefecthTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createLiveDomainPrefecthTaskResponse` the request response data model
*/
-(NSDictionary*) createLiveDomainPrefecthTaskSyncWithRequest:(CdnCreateLiveDomainPrefecthTaskRequest*) createLiveDomainPrefecthTaskRequest
{
CdnCreateLiveDomainPrefecthTaskExecutor* excutor = [[CdnCreateLiveDomainPrefecthTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createLiveDomainPrefecthTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateLiveDomainPrefecthTaskResponse* response = [[CdnCreateLiveDomainPrefecthTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createLiveDomainPrefecthTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createLiveDomainPrefecthTaskAsyncWithRequest:(CdnCreateLiveDomainPrefecthTaskRequest*) createLiveDomainPrefecthTaskRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateLiveDomainPrefecthTaskResponse* _Nullable createLiveDomainPrefecthTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateLiveDomainPrefecthTaskExecutor* excutor = [[CdnCreateLiveDomainPrefecthTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createLiveDomainPrefecthTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateLiveDomainPrefecthTaskResponse* response = [[CdnCreateLiveDomainPrefecthTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
wafQueryAttackDetails sync request
@param wafQueryAttackDetailsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `wafQueryAttackDetailsResponse` the request response data model
*/
-(NSDictionary*) wafQueryAttackDetailsSyncWithRequest:(CdnWafQueryAttackDetailsRequest*) wafQueryAttackDetailsRequest
{
CdnWafQueryAttackDetailsExecutor* excutor = [[CdnWafQueryAttackDetailsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:wafQueryAttackDetailsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryAttackDetailsResponse* response = [[CdnWafQueryAttackDetailsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"wafQueryAttackDetailsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)wafQueryAttackDetailsAsyncWithRequest:(CdnWafQueryAttackDetailsRequest*) wafQueryAttackDetailsRequest
                       completionHandler:(void(^)(int statusCode,CdnWafQueryAttackDetailsResponse* _Nullable wafQueryAttackDetailsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnWafQueryAttackDetailsExecutor* excutor = [[CdnWafQueryAttackDetailsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:wafQueryAttackDetailsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryAttackDetailsResponse* response = [[CdnWafQueryAttackDetailsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopMonitor sync request
@param stopMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopMonitorResponse` the request response data model
*/
-(NSDictionary*) stopMonitorSyncWithRequest:(CdnStopMonitorRequest*) stopMonitorRequest
{
CdnStopMonitorExecutor* excutor = [[CdnStopMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStopMonitorResponse* response = [[CdnStopMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopMonitorAsyncWithRequest:(CdnStopMonitorRequest*) stopMonitorRequest
                       completionHandler:(void(^)(int statusCode,CdnStopMonitorResponse* _Nullable stopMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnStopMonitorExecutor* excutor = [[CdnStopMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStopMonitorResponse* response = [[CdnStopMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryHttpHeader sync request
@param queryHttpHeaderRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryHttpHeaderResponse` the request response data model
*/
-(NSDictionary*) queryHttpHeaderSyncWithRequest:(CdnQueryHttpHeaderRequest*) queryHttpHeaderRequest
{
CdnQueryHttpHeaderExecutor* excutor = [[CdnQueryHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryHttpHeaderRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryHttpHeaderResponse* response = [[CdnQueryHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryHttpHeaderResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryHttpHeaderAsyncWithRequest:(CdnQueryHttpHeaderRequest*) queryHttpHeaderRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryHttpHeaderResponse* _Nullable queryHttpHeaderResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryHttpHeaderExecutor* excutor = [[CdnQueryHttpHeaderExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryHttpHeaderRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryHttpHeaderResponse* response = [[CdnQueryHttpHeaderResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWafRegions sync request
@param queryWafRegionsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWafRegionsResponse` the request response data model
*/
-(NSDictionary*) queryWafRegionsSyncWithRequest:(CdnQueryWafRegionsRequest*) queryWafRegionsRequest
{
CdnQueryWafRegionsExecutor* excutor = [[CdnQueryWafRegionsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWafRegionsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafRegionsResponse* response = [[CdnQueryWafRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWafRegionsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWafRegionsAsyncWithRequest:(CdnQueryWafRegionsRequest*) queryWafRegionsRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWafRegionsResponse* _Nullable queryWafRegionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWafRegionsExecutor* excutor = [[CdnQueryWafRegionsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWafRegionsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafRegionsResponse* response = [[CdnQueryWafRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveDomainDetailV2 sync request
@param queryLiveDomainDetailV2Request request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveDomainDetailV2Response` the request response data model
*/
-(NSDictionary*) queryLiveDomainDetailV2SyncWithRequest:(CdnQueryLiveDomainDetailV2Request*) queryLiveDomainDetailV2Request
{
CdnQueryLiveDomainDetailV2Executor* excutor = [[CdnQueryLiveDomainDetailV2Executor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveDomainDetailV2Request];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainDetailV2Response* response = [[CdnQueryLiveDomainDetailV2Response alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveDomainDetailV2Response"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveDomainDetailV2AsyncWithRequest:(CdnQueryLiveDomainDetailV2Request*) queryLiveDomainDetailV2Request
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveDomainDetailV2Response* _Nullable queryLiveDomainDetailV2Response, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveDomainDetailV2Executor* excutor = [[CdnQueryLiveDomainDetailV2Executor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveDomainDetailV2Request completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveDomainDetailV2Response* response = [[CdnQueryLiveDomainDetailV2Response alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRefreshTaskForCallbackV2 sync request
@param createRefreshTaskForCallbackV2Request request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRefreshTaskForCallbackV2Response` the request response data model
*/
-(NSDictionary*) createRefreshTaskForCallbackV2SyncWithRequest:(CdnCreateRefreshTaskForCallbackV2Request*) createRefreshTaskForCallbackV2Request
{
CdnCreateRefreshTaskForCallbackV2Executor* excutor = [[CdnCreateRefreshTaskForCallbackV2Executor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRefreshTaskForCallbackV2Request];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskForCallbackV2Response* response = [[CdnCreateRefreshTaskForCallbackV2Response alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRefreshTaskForCallbackV2Response"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRefreshTaskForCallbackV2AsyncWithRequest:(CdnCreateRefreshTaskForCallbackV2Request*) createRefreshTaskForCallbackV2Request
                       completionHandler:(void(^)(int statusCode,CdnCreateRefreshTaskForCallbackV2Response* _Nullable createRefreshTaskForCallbackV2Response, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateRefreshTaskForCallbackV2Executor* excutor = [[CdnCreateRefreshTaskForCallbackV2Executor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRefreshTaskForCallbackV2Request completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskForCallbackV2Response* response = [[CdnCreateRefreshTaskForCallbackV2Response alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWafWhiteRuleSwitch sync request
@param queryWafWhiteRuleSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWafWhiteRuleSwitchResponse` the request response data model
*/
-(NSDictionary*) queryWafWhiteRuleSwitchSyncWithRequest:(CdnQueryWafWhiteRuleSwitchRequest*) queryWafWhiteRuleSwitchRequest
{
CdnQueryWafWhiteRuleSwitchExecutor* excutor = [[CdnQueryWafWhiteRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWafWhiteRuleSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafWhiteRuleSwitchResponse* response = [[CdnQueryWafWhiteRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWafWhiteRuleSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWafWhiteRuleSwitchAsyncWithRequest:(CdnQueryWafWhiteRuleSwitchRequest*) queryWafWhiteRuleSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWafWhiteRuleSwitchResponse* _Nullable queryWafWhiteRuleSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWafWhiteRuleSwitchExecutor* excutor = [[CdnQueryWafWhiteRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWafWhiteRuleSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafWhiteRuleSwitchResponse* response = [[CdnQueryWafWhiteRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createCCProtectRule sync request
@param createCCProtectRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createCCProtectRuleResponse` the request response data model
*/
-(NSDictionary*) createCCProtectRuleSyncWithRequest:(CdnCreateCCProtectRuleRequest*) createCCProtectRuleRequest
{
CdnCreateCCProtectRuleExecutor* excutor = [[CdnCreateCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createCCProtectRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateCCProtectRuleResponse* response = [[CdnCreateCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createCCProtectRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createCCProtectRuleAsyncWithRequest:(CdnCreateCCProtectRuleRequest*) createCCProtectRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateCCProtectRuleResponse* _Nullable createCCProtectRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateCCProtectRuleExecutor* excutor = [[CdnCreateCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createCCProtectRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateCCProtectRuleResponse* response = [[CdnCreateCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createWafWhiteRule sync request
@param createWafWhiteRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createWafWhiteRuleResponse` the request response data model
*/
-(NSDictionary*) createWafWhiteRuleSyncWithRequest:(CdnCreateWafWhiteRuleRequest*) createWafWhiteRuleRequest
{
CdnCreateWafWhiteRuleExecutor* excutor = [[CdnCreateWafWhiteRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createWafWhiteRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateWafWhiteRuleResponse* response = [[CdnCreateWafWhiteRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createWafWhiteRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createWafWhiteRuleAsyncWithRequest:(CdnCreateWafWhiteRuleRequest*) createWafWhiteRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateWafWhiteRuleResponse* _Nullable createWafWhiteRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateWafWhiteRuleExecutor* excutor = [[CdnCreateWafWhiteRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createWafWhiteRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateWafWhiteRuleResponse* response = [[CdnCreateWafWhiteRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLivePrefetchTask sync request
@param queryLivePrefetchTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLivePrefetchTaskResponse` the request response data model
*/
-(NSDictionary*) queryLivePrefetchTaskSyncWithRequest:(CdnQueryLivePrefetchTaskRequest*) queryLivePrefetchTaskRequest
{
CdnQueryLivePrefetchTaskExecutor* excutor = [[CdnQueryLivePrefetchTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLivePrefetchTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLivePrefetchTaskResponse* response = [[CdnQueryLivePrefetchTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLivePrefetchTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLivePrefetchTaskAsyncWithRequest:(CdnQueryLivePrefetchTaskRequest*) queryLivePrefetchTaskRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLivePrefetchTaskResponse* _Nullable queryLivePrefetchTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLivePrefetchTaskExecutor* excutor = [[CdnQueryLivePrefetchTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLivePrefetchTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLivePrefetchTaskResponse* response = [[CdnQueryLivePrefetchTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
querywafWhiteRules sync request
@param querywafWhiteRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `querywafWhiteRulesResponse` the request response data model
*/
-(NSDictionary*) querywafWhiteRulesSyncWithRequest:(CdnQuerywafWhiteRulesRequest*) querywafWhiteRulesRequest
{
CdnQuerywafWhiteRulesExecutor* excutor = [[CdnQuerywafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:querywafWhiteRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQuerywafWhiteRulesResponse* response = [[CdnQuerywafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"querywafWhiteRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)querywafWhiteRulesAsyncWithRequest:(CdnQuerywafWhiteRulesRequest*) querywafWhiteRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnQuerywafWhiteRulesResponse* _Nullable querywafWhiteRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQuerywafWhiteRulesExecutor* excutor = [[CdnQuerywafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:querywafWhiteRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQuerywafWhiteRulesResponse* response = [[CdnQuerywafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setHttpType sync request
@param setHttpTypeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setHttpTypeResponse` the request response data model
*/
-(NSDictionary*) setHttpTypeSyncWithRequest:(CdnSetHttpTypeRequest*) setHttpTypeRequest
{
CdnSetHttpTypeExecutor* excutor = [[CdnSetHttpTypeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setHttpTypeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetHttpTypeResponse* response = [[CdnSetHttpTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setHttpTypeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setHttpTypeAsyncWithRequest:(CdnSetHttpTypeRequest*) setHttpTypeRequest
                       completionHandler:(void(^)(int statusCode,CdnSetHttpTypeResponse* _Nullable setHttpTypeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetHttpTypeExecutor* excutor = [[CdnSetHttpTypeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setHttpTypeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetHttpTypeResponse* response = [[CdnSetHttpTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainLog sync request
@param queryDomainLogRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainLogResponse` the request response data model
*/
-(NSDictionary*) queryDomainLogSyncWithRequest:(CdnQueryDomainLogRequest*) queryDomainLogRequest
{
CdnQueryDomainLogExecutor* excutor = [[CdnQueryDomainLogExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainLogRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainLogResponse* response = [[CdnQueryDomainLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainLogResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainLogAsyncWithRequest:(CdnQueryDomainLogRequest*) queryDomainLogRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainLogResponse* _Nullable queryDomainLogResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainLogExecutor* excutor = [[CdnQueryDomainLogExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainLogRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainLogResponse* response = [[CdnQueryDomainLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryMixTrafficGroupSum sync request
@param queryMixTrafficGroupSumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryMixTrafficGroupSumResponse` the request response data model
*/
-(NSDictionary*) queryMixTrafficGroupSumSyncWithRequest:(CdnQueryMixTrafficGroupSumRequest*) queryMixTrafficGroupSumRequest
{
CdnQueryMixTrafficGroupSumExecutor* excutor = [[CdnQueryMixTrafficGroupSumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryMixTrafficGroupSumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixTrafficGroupSumResponse* response = [[CdnQueryMixTrafficGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryMixTrafficGroupSumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryMixTrafficGroupSumAsyncWithRequest:(CdnQueryMixTrafficGroupSumRequest*) queryMixTrafficGroupSumRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryMixTrafficGroupSumResponse* _Nullable queryMixTrafficGroupSumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryMixTrafficGroupSumExecutor* excutor = [[CdnQueryMixTrafficGroupSumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryMixTrafficGroupSumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixTrafficGroupSumResponse* response = [[CdnQueryMixTrafficGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryOssBuckets sync request
@param queryOssBucketsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryOssBucketsResponse` the request response data model
*/
-(NSDictionary*) queryOssBucketsSyncWithRequest:(CdnQueryOssBucketsRequest*) queryOssBucketsRequest
{
CdnQueryOssBucketsExecutor* excutor = [[CdnQueryOssBucketsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryOssBucketsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryOssBucketsResponse* response = [[CdnQueryOssBucketsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryOssBucketsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryOssBucketsAsyncWithRequest:(CdnQueryOssBucketsRequest*) queryOssBucketsRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryOssBucketsResponse* _Nullable queryOssBucketsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryOssBucketsExecutor* excutor = [[CdnQueryOssBucketsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryOssBucketsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryOssBucketsResponse* response = [[CdnQueryOssBucketsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAttackTypeCount sync request
@param queryAttackTypeCountRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAttackTypeCountResponse` the request response data model
*/
-(NSDictionary*) queryAttackTypeCountSyncWithRequest:(CdnQueryAttackTypeCountRequest*) queryAttackTypeCountRequest
{
CdnQueryAttackTypeCountExecutor* excutor = [[CdnQueryAttackTypeCountExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAttackTypeCountRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAttackTypeCountResponse* response = [[CdnQueryAttackTypeCountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAttackTypeCountResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAttackTypeCountAsyncWithRequest:(CdnQueryAttackTypeCountRequest*) queryAttackTypeCountRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryAttackTypeCountResponse* _Nullable queryAttackTypeCountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryAttackTypeCountExecutor* excutor = [[CdnQueryAttackTypeCountExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAttackTypeCountRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAttackTypeCountResponse* response = [[CdnQueryAttackTypeCountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainBackSourceHost sync request
@param setLiveDomainBackSourceHostRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainBackSourceHostResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainBackSourceHostSyncWithRequest:(CdnSetLiveDomainBackSourceHostRequest*) setLiveDomainBackSourceHostRequest
{
CdnSetLiveDomainBackSourceHostExecutor* excutor = [[CdnSetLiveDomainBackSourceHostExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainBackSourceHostRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainBackSourceHostResponse* response = [[CdnSetLiveDomainBackSourceHostResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainBackSourceHostResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainBackSourceHostAsyncWithRequest:(CdnSetLiveDomainBackSourceHostRequest*) setLiveDomainBackSourceHostRequest
                       completionHandler:(void(^)(int statusCode,CdnSetLiveDomainBackSourceHostResponse* _Nullable setLiveDomainBackSourceHostResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetLiveDomainBackSourceHostExecutor* excutor = [[CdnSetLiveDomainBackSourceHostExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainBackSourceHostRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainBackSourceHostResponse* response = [[CdnSetLiveDomainBackSourceHostResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryIpBlackList sync request
@param queryIpBlackListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryIpBlackListResponse` the request response data model
*/
-(NSDictionary*) queryIpBlackListSyncWithRequest:(CdnQueryIpBlackListRequest*) queryIpBlackListRequest
{
CdnQueryIpBlackListExecutor* excutor = [[CdnQueryIpBlackListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryIpBlackListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryIpBlackListResponse* response = [[CdnQueryIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryIpBlackListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryIpBlackListAsyncWithRequest:(CdnQueryIpBlackListRequest*) queryIpBlackListRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryIpBlackListResponse* _Nullable queryIpBlackListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryIpBlackListExecutor* excutor = [[CdnQueryIpBlackListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryIpBlackListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryIpBlackListResponse* response = [[CdnQueryIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setProtocolConvert sync request
@param setProtocolConvertRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setProtocolConvertResponse` the request response data model
*/
-(NSDictionary*) setProtocolConvertSyncWithRequest:(CdnSetProtocolConvertRequest*) setProtocolConvertRequest
{
CdnSetProtocolConvertExecutor* excutor = [[CdnSetProtocolConvertExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setProtocolConvertRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetProtocolConvertResponse* response = [[CdnSetProtocolConvertResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setProtocolConvertResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setProtocolConvertAsyncWithRequest:(CdnSetProtocolConvertRequest*) setProtocolConvertRequest
                       completionHandler:(void(^)(int statusCode,CdnSetProtocolConvertResponse* _Nullable setProtocolConvertResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetProtocolConvertExecutor* excutor = [[CdnSetProtocolConvertExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setProtocolConvertRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetProtocolConvertResponse* response = [[CdnSetProtocolConvertResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryCCProtectRules sync request
@param queryCCProtectRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryCCProtectRulesResponse` the request response data model
*/
-(NSDictionary*) queryCCProtectRulesSyncWithRequest:(CdnQueryCCProtectRulesRequest*) queryCCProtectRulesRequest
{
CdnQueryCCProtectRulesExecutor* excutor = [[CdnQueryCCProtectRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryCCProtectRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryCCProtectRulesResponse* response = [[CdnQueryCCProtectRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryCCProtectRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryCCProtectRulesAsyncWithRequest:(CdnQueryCCProtectRulesRequest*) queryCCProtectRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryCCProtectRulesResponse* _Nullable queryCCProtectRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryCCProtectRulesExecutor* excutor = [[CdnQueryCCProtectRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryCCProtectRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryCCProtectRulesResponse* response = [[CdnQueryCCProtectRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainRefer sync request
@param setLiveDomainReferRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainReferResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainReferSyncWithRequest:(CdnSetLiveDomainReferRequest*) setLiveDomainReferRequest
{
CdnSetLiveDomainReferExecutor* excutor = [[CdnSetLiveDomainReferExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainReferRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainReferResponse* response = [[CdnSetLiveDomainReferResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainReferResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainReferAsyncWithRequest:(CdnSetLiveDomainReferRequest*) setLiveDomainReferRequest
                       completionHandler:(void(^)(int statusCode,CdnSetLiveDomainReferResponse* _Nullable setLiveDomainReferResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetLiveDomainReferExecutor* excutor = [[CdnSetLiveDomainReferExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainReferRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainReferResponse* response = [[CdnSetLiveDomainReferResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDomainList sync request
@param getDomainListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDomainListResponse` the request response data model
*/
-(NSDictionary*) getDomainListSyncWithRequest:(CdnGetDomainListRequest*) getDomainListRequest
{
CdnGetDomainListExecutor* excutor = [[CdnGetDomainListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDomainListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainListResponse* response = [[CdnGetDomainListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDomainListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDomainListAsyncWithRequest:(CdnGetDomainListRequest*) getDomainListRequest
                       completionHandler:(void(^)(int statusCode,CdnGetDomainListResponse* _Nullable getDomainListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetDomainListExecutor* excutor = [[CdnGetDomainListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDomainListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainListResponse* response = [[CdnGetDomainListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setIgnoreQueryString sync request
@param setIgnoreQueryStringRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setIgnoreQueryStringResponse` the request response data model
*/
-(NSDictionary*) setIgnoreQueryStringSyncWithRequest:(CdnSetIgnoreQueryStringRequest*) setIgnoreQueryStringRequest
{
CdnSetIgnoreQueryStringExecutor* excutor = [[CdnSetIgnoreQueryStringExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setIgnoreQueryStringRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetIgnoreQueryStringResponse* response = [[CdnSetIgnoreQueryStringResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setIgnoreQueryStringResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setIgnoreQueryStringAsyncWithRequest:(CdnSetIgnoreQueryStringRequest*) setIgnoreQueryStringRequest
                       completionHandler:(void(^)(int statusCode,CdnSetIgnoreQueryStringResponse* _Nullable setIgnoreQueryStringResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetIgnoreQueryStringExecutor* excutor = [[CdnSetIgnoreQueryStringExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setIgnoreQueryStringRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetIgnoreQueryStringResponse* response = [[CdnSetIgnoreQueryStringResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
batchDeleteDomainGroup sync request
@param batchDeleteDomainGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `batchDeleteDomainGroupResponse` the request response data model
*/
-(NSDictionary*) batchDeleteDomainGroupSyncWithRequest:(CdnBatchDeleteDomainGroupRequest*) batchDeleteDomainGroupRequest
{
CdnBatchDeleteDomainGroupExecutor* excutor = [[CdnBatchDeleteDomainGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:batchDeleteDomainGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchDeleteDomainGroupResponse* response = [[CdnBatchDeleteDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"batchDeleteDomainGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)batchDeleteDomainGroupAsyncWithRequest:(CdnBatchDeleteDomainGroupRequest*) batchDeleteDomainGroupRequest
                       completionHandler:(void(^)(int statusCode,CdnBatchDeleteDomainGroupResponse* _Nullable batchDeleteDomainGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnBatchDeleteDomainGroupExecutor* excutor = [[CdnBatchDeleteDomainGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:batchDeleteDomainGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchDeleteDomainGroupResponse* response = [[CdnBatchDeleteDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setUserAgentConfig sync request
@param setUserAgentConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setUserAgentConfigResponse` the request response data model
*/
-(NSDictionary*) setUserAgentConfigSyncWithRequest:(CdnSetUserAgentConfigRequest*) setUserAgentConfigRequest
{
CdnSetUserAgentConfigExecutor* excutor = [[CdnSetUserAgentConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setUserAgentConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetUserAgentConfigResponse* response = [[CdnSetUserAgentConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setUserAgentConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setUserAgentConfigAsyncWithRequest:(CdnSetUserAgentConfigRequest*) setUserAgentConfigRequest
                       completionHandler:(void(^)(int statusCode,CdnSetUserAgentConfigResponse* _Nullable setUserAgentConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetUserAgentConfigExecutor* excutor = [[CdnSetUserAgentConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setUserAgentConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetUserAgentConfigResponse* response = [[CdnSetUserAgentConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setNetProtectionRules sync request
@param setNetProtectionRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setNetProtectionRulesResponse` the request response data model
*/
-(NSDictionary*) setNetProtectionRulesSyncWithRequest:(CdnSetNetProtectionRulesRequest*) setNetProtectionRulesRequest
{
CdnSetNetProtectionRulesExecutor* excutor = [[CdnSetNetProtectionRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setNetProtectionRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetNetProtectionRulesResponse* response = [[CdnSetNetProtectionRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setNetProtectionRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setNetProtectionRulesAsyncWithRequest:(CdnSetNetProtectionRulesRequest*) setNetProtectionRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnSetNetProtectionRulesResponse* _Nullable setNetProtectionRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetNetProtectionRulesExecutor* excutor = [[CdnSetNetProtectionRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setNetProtectionRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetNetProtectionRulesResponse* response = [[CdnSetNetProtectionRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setLiveDomainBackSource sync request
@param setLiveDomainBackSourceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setLiveDomainBackSourceResponse` the request response data model
*/
-(NSDictionary*) setLiveDomainBackSourceSyncWithRequest:(CdnSetLiveDomainBackSourceRequest*) setLiveDomainBackSourceRequest
{
CdnSetLiveDomainBackSourceExecutor* excutor = [[CdnSetLiveDomainBackSourceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setLiveDomainBackSourceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainBackSourceResponse* response = [[CdnSetLiveDomainBackSourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setLiveDomainBackSourceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setLiveDomainBackSourceAsyncWithRequest:(CdnSetLiveDomainBackSourceRequest*) setLiveDomainBackSourceRequest
                       completionHandler:(void(^)(int statusCode,CdnSetLiveDomainBackSourceResponse* _Nullable setLiveDomainBackSourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetLiveDomainBackSourceExecutor* excutor = [[CdnSetLiveDomainBackSourceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setLiveDomainBackSourceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetLiveDomainBackSourceResponse* response = [[CdnSetLiveDomainBackSourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setFollowSourceProtocol sync request
@param setFollowSourceProtocolRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setFollowSourceProtocolResponse` the request response data model
*/
-(NSDictionary*) setFollowSourceProtocolSyncWithRequest:(CdnSetFollowSourceProtocolRequest*) setFollowSourceProtocolRequest
{
CdnSetFollowSourceProtocolExecutor* excutor = [[CdnSetFollowSourceProtocolExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setFollowSourceProtocolRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetFollowSourceProtocolResponse* response = [[CdnSetFollowSourceProtocolResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setFollowSourceProtocolResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setFollowSourceProtocolAsyncWithRequest:(CdnSetFollowSourceProtocolRequest*) setFollowSourceProtocolRequest
                       completionHandler:(void(^)(int statusCode,CdnSetFollowSourceProtocolResponse* _Nullable setFollowSourceProtocolResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetFollowSourceProtocolExecutor* excutor = [[CdnSetFollowSourceProtocolExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setFollowSourceProtocolRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetFollowSourceProtocolResponse* response = [[CdnSetFollowSourceProtocolResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setPublishNormalTimeout sync request
@param setPublishNormalTimeoutRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setPublishNormalTimeoutResponse` the request response data model
*/
-(NSDictionary*) setPublishNormalTimeoutSyncWithRequest:(CdnSetPublishNormalTimeoutRequest*) setPublishNormalTimeoutRequest
{
CdnSetPublishNormalTimeoutExecutor* excutor = [[CdnSetPublishNormalTimeoutExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setPublishNormalTimeoutRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetPublishNormalTimeoutResponse* response = [[CdnSetPublishNormalTimeoutResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setPublishNormalTimeoutResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setPublishNormalTimeoutAsyncWithRequest:(CdnSetPublishNormalTimeoutRequest*) setPublishNormalTimeoutRequest
                       completionHandler:(void(^)(int statusCode,CdnSetPublishNormalTimeoutResponse* _Nullable setPublishNormalTimeoutResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetPublishNormalTimeoutExecutor* excutor = [[CdnSetPublishNormalTimeoutExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setPublishNormalTimeoutRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetPublishNormalTimeoutResponse* response = [[CdnSetPublishNormalTimeoutResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getSslCertList sync request
@param getSslCertListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getSslCertListResponse` the request response data model
*/
-(NSDictionary*) getSslCertListSyncWithRequest:(CdnGetSslCertListRequest*) getSslCertListRequest
{
CdnGetSslCertListExecutor* excutor = [[CdnGetSslCertListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getSslCertListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetSslCertListResponse* response = [[CdnGetSslCertListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getSslCertListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getSslCertListAsyncWithRequest:(CdnGetSslCertListRequest*) getSslCertListRequest
                       completionHandler:(void(^)(int statusCode,CdnGetSslCertListResponse* _Nullable getSslCertListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetSslCertListExecutor* excutor = [[CdnGetSslCertListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getSslCertListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetSslCertListResponse* response = [[CdnGetSslCertListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDomain sync request
@param createDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDomainResponse` the request response data model
*/
-(NSDictionary*) createDomainSyncWithRequest:(CdnCreateDomainRequest*) createDomainRequest
{
CdnCreateDomainExecutor* excutor = [[CdnCreateDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateDomainResponse* response = [[CdnCreateDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDomainAsyncWithRequest:(CdnCreateDomainRequest*) createDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateDomainResponse* _Nullable createDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateDomainExecutor* excutor = [[CdnCreateDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateDomainResponse* response = [[CdnCreateDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainConfig sync request
@param queryDomainConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainConfigResponse` the request response data model
*/
-(NSDictionary*) queryDomainConfigSyncWithRequest:(CdnQueryDomainConfigRequest*) queryDomainConfigRequest
{
CdnQueryDomainConfigExecutor* excutor = [[CdnQueryDomainConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainConfigResponse* response = [[CdnQueryDomainConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainConfigAsyncWithRequest:(CdnQueryDomainConfigRequest*) queryDomainConfigRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainConfigResponse* _Nullable queryDomainConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainConfigExecutor* excutor = [[CdnQueryDomainConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainConfigResponse* response = [[CdnQueryDomainConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
bindPublishDomain sync request
@param bindPublishDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `bindPublishDomainResponse` the request response data model
*/
-(NSDictionary*) bindPublishDomainSyncWithRequest:(CdnBindPublishDomainRequest*) bindPublishDomainRequest
{
CdnBindPublishDomainExecutor* excutor = [[CdnBindPublishDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:bindPublishDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBindPublishDomainResponse* response = [[CdnBindPublishDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"bindPublishDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)bindPublishDomainAsyncWithRequest:(CdnBindPublishDomainRequest*) bindPublishDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnBindPublishDomainResponse* _Nullable bindPublishDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnBindPublishDomainExecutor* excutor = [[CdnBindPublishDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:bindPublishDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBindPublishDomainResponse* response = [[CdnBindPublishDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setVideoDraft sync request
@param setVideoDraftRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setVideoDraftResponse` the request response data model
*/
-(NSDictionary*) setVideoDraftSyncWithRequest:(CdnSetVideoDraftRequest*) setVideoDraftRequest
{
CdnSetVideoDraftExecutor* excutor = [[CdnSetVideoDraftExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setVideoDraftRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetVideoDraftResponse* response = [[CdnSetVideoDraftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setVideoDraftResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setVideoDraftAsyncWithRequest:(CdnSetVideoDraftRequest*) setVideoDraftRequest
                       completionHandler:(void(^)(int statusCode,CdnSetVideoDraftResponse* _Nullable setVideoDraftResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetVideoDraftExecutor* excutor = [[CdnSetVideoDraftExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setVideoDraftRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetVideoDraftResponse* response = [[CdnSetVideoDraftResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryCCProtectSwitch sync request
@param queryCCProtectSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryCCProtectSwitchResponse` the request response data model
*/
-(NSDictionary*) queryCCProtectSwitchSyncWithRequest:(CdnQueryCCProtectSwitchRequest*) queryCCProtectSwitchRequest
{
CdnQueryCCProtectSwitchExecutor* excutor = [[CdnQueryCCProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryCCProtectSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryCCProtectSwitchResponse* response = [[CdnQueryCCProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryCCProtectSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryCCProtectSwitchAsyncWithRequest:(CdnQueryCCProtectSwitchRequest*) queryCCProtectSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryCCProtectSwitchResponse* _Nullable queryCCProtectSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryCCProtectSwitchExecutor* excutor = [[CdnQueryCCProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryCCProtectSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryCCProtectSwitchResponse* response = [[CdnQueryCCProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createLiveDomain sync request
@param createLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createLiveDomainResponse` the request response data model
*/
-(NSDictionary*) createLiveDomainSyncWithRequest:(CdnCreateLiveDomainRequest*) createLiveDomainRequest
{
CdnCreateLiveDomainExecutor* excutor = [[CdnCreateLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateLiveDomainResponse* response = [[CdnCreateLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createLiveDomainAsyncWithRequest:(CdnCreateLiveDomainRequest*) createLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateLiveDomainResponse* _Nullable createLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateLiveDomainExecutor* excutor = [[CdnCreateLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateLiveDomainResponse* response = [[CdnCreateLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateWebProtectSettings sync request
@param updateWebProtectSettingsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateWebProtectSettingsResponse` the request response data model
*/
-(NSDictionary*) updateWebProtectSettingsSyncWithRequest:(CdnUpdateWebProtectSettingsRequest*) updateWebProtectSettingsRequest
{
CdnUpdateWebProtectSettingsExecutor* excutor = [[CdnUpdateWebProtectSettingsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateWebProtectSettingsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWebProtectSettingsResponse* response = [[CdnUpdateWebProtectSettingsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateWebProtectSettingsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateWebProtectSettingsAsyncWithRequest:(CdnUpdateWebProtectSettingsRequest*) updateWebProtectSettingsRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateWebProtectSettingsResponse* _Nullable updateWebProtectSettingsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateWebProtectSettingsExecutor* excutor = [[CdnUpdateWebProtectSettingsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateWebProtectSettingsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWebProtectSettingsResponse* response = [[CdnUpdateWebProtectSettingsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
operateShareCache sync request
@param operateShareCacheRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `operateShareCacheResponse` the request response data model
*/
-(NSDictionary*) operateShareCacheSyncWithRequest:(CdnOperateShareCacheRequest*) operateShareCacheRequest
{
CdnOperateShareCacheExecutor* excutor = [[CdnOperateShareCacheExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:operateShareCacheRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateShareCacheResponse* response = [[CdnOperateShareCacheResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"operateShareCacheResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)operateShareCacheAsyncWithRequest:(CdnOperateShareCacheRequest*) operateShareCacheRequest
                       completionHandler:(void(^)(int statusCode,CdnOperateShareCacheResponse* _Nullable operateShareCacheResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnOperateShareCacheExecutor* excutor = [[CdnOperateShareCacheExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:operateShareCacheRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateShareCacheResponse* response = [[CdnOperateShareCacheResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
enableWafWhiteRules sync request
@param enableWafWhiteRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `enableWafWhiteRulesResponse` the request response data model
*/
-(NSDictionary*) enableWafWhiteRulesSyncWithRequest:(CdnEnableWafWhiteRulesRequest*) enableWafWhiteRulesRequest
{
CdnEnableWafWhiteRulesExecutor* excutor = [[CdnEnableWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:enableWafWhiteRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableWafWhiteRulesResponse* response = [[CdnEnableWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"enableWafWhiteRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)enableWafWhiteRulesAsyncWithRequest:(CdnEnableWafWhiteRulesRequest*) enableWafWhiteRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnEnableWafWhiteRulesResponse* _Nullable enableWafWhiteRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnEnableWafWhiteRulesExecutor* excutor = [[CdnEnableWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:enableWafWhiteRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableWafWhiteRulesResponse* response = [[CdnEnableWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryMixStatisticsWithAreaData sync request
@param queryMixStatisticsWithAreaDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryMixStatisticsWithAreaDataResponse` the request response data model
*/
-(NSDictionary*) queryMixStatisticsWithAreaDataSyncWithRequest:(CdnQueryMixStatisticsWithAreaDataRequest*) queryMixStatisticsWithAreaDataRequest
{
CdnQueryMixStatisticsWithAreaDataExecutor* excutor = [[CdnQueryMixStatisticsWithAreaDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryMixStatisticsWithAreaDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixStatisticsWithAreaDataResponse* response = [[CdnQueryMixStatisticsWithAreaDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryMixStatisticsWithAreaDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryMixStatisticsWithAreaDataAsyncWithRequest:(CdnQueryMixStatisticsWithAreaDataRequest*) queryMixStatisticsWithAreaDataRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryMixStatisticsWithAreaDataResponse* _Nullable queryMixStatisticsWithAreaDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryMixStatisticsWithAreaDataExecutor* excutor = [[CdnQueryMixStatisticsWithAreaDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryMixStatisticsWithAreaDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryMixStatisticsWithAreaDataResponse* response = [[CdnQueryMixStatisticsWithAreaDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setWebProtectSwitch sync request
@param setWebProtectSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setWebProtectSwitchResponse` the request response data model
*/
-(NSDictionary*) setWebProtectSwitchSyncWithRequest:(CdnSetWebProtectSwitchRequest*) setWebProtectSwitchRequest
{
CdnSetWebProtectSwitchExecutor* excutor = [[CdnSetWebProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setWebProtectSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWebProtectSwitchResponse* response = [[CdnSetWebProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setWebProtectSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setWebProtectSwitchAsyncWithRequest:(CdnSetWebProtectSwitchRequest*) setWebProtectSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetWebProtectSwitchResponse* _Nullable setWebProtectSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetWebProtectSwitchExecutor* excutor = [[CdnSetWebProtectSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setWebProtectSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWebProtectSwitchResponse* response = [[CdnSetWebProtectSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
operateLiveDomainIpBlackList sync request
@param operateLiveDomainIpBlackListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `operateLiveDomainIpBlackListResponse` the request response data model
*/
-(NSDictionary*) operateLiveDomainIpBlackListSyncWithRequest:(CdnOperateLiveDomainIpBlackListRequest*) operateLiveDomainIpBlackListRequest
{
CdnOperateLiveDomainIpBlackListExecutor* excutor = [[CdnOperateLiveDomainIpBlackListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:operateLiveDomainIpBlackListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateLiveDomainIpBlackListResponse* response = [[CdnOperateLiveDomainIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"operateLiveDomainIpBlackListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)operateLiveDomainIpBlackListAsyncWithRequest:(CdnOperateLiveDomainIpBlackListRequest*) operateLiveDomainIpBlackListRequest
                       completionHandler:(void(^)(int statusCode,CdnOperateLiveDomainIpBlackListResponse* _Nullable operateLiveDomainIpBlackListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnOperateLiveDomainIpBlackListExecutor* excutor = [[CdnOperateLiveDomainIpBlackListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:operateLiveDomainIpBlackListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnOperateLiveDomainIpBlackListResponse* response = [[CdnOperateLiveDomainIpBlackListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryStatisticsData sync request
@param queryStatisticsDataRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryStatisticsDataResponse` the request response data model
*/
-(NSDictionary*) queryStatisticsDataSyncWithRequest:(CdnQueryStatisticsDataRequest*) queryStatisticsDataRequest
{
CdnQueryStatisticsDataExecutor* excutor = [[CdnQueryStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryStatisticsDataRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataResponse* response = [[CdnQueryStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryStatisticsDataResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryStatisticsDataAsyncWithRequest:(CdnQueryStatisticsDataRequest*) queryStatisticsDataRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryStatisticsDataResponse* _Nullable queryStatisticsDataResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryStatisticsDataExecutor* excutor = [[CdnQueryStatisticsDataExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryStatisticsDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryStatisticsDataResponse* response = [[CdnQueryStatisticsDataResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAreaIspList sync request
@param queryAreaIspListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAreaIspListResponse` the request response data model
*/
-(NSDictionary*) queryAreaIspListSyncWithRequest:(CdnQueryAreaIspListRequest*) queryAreaIspListRequest
{
CdnQueryAreaIspListExecutor* excutor = [[CdnQueryAreaIspListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAreaIspListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAreaIspListResponse* response = [[CdnQueryAreaIspListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAreaIspListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAreaIspListAsyncWithRequest:(CdnQueryAreaIspListRequest*) queryAreaIspListRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryAreaIspListResponse* _Nullable queryAreaIspListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryAreaIspListExecutor* excutor = [[CdnQueryAreaIspListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAreaIspListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAreaIspListResponse* response = [[CdnQueryAreaIspListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCCProtectRule sync request
@param deleteCCProtectRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCCProtectRuleResponse` the request response data model
*/
-(NSDictionary*) deleteCCProtectRuleSyncWithRequest:(CdnDeleteCCProtectRuleRequest*) deleteCCProtectRuleRequest
{
CdnDeleteCCProtectRuleExecutor* excutor = [[CdnDeleteCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCCProtectRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteCCProtectRuleResponse* response = [[CdnDeleteCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCCProtectRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCCProtectRuleAsyncWithRequest:(CdnDeleteCCProtectRuleRequest*) deleteCCProtectRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteCCProtectRuleResponse* _Nullable deleteCCProtectRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteCCProtectRuleExecutor* excutor = [[CdnDeleteCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCCProtectRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteCCProtectRuleResponse* response = [[CdnDeleteCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setWafBlackRuleSwitch sync request
@param setWafBlackRuleSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setWafBlackRuleSwitchResponse` the request response data model
*/
-(NSDictionary*) setWafBlackRuleSwitchSyncWithRequest:(CdnSetWafBlackRuleSwitchRequest*) setWafBlackRuleSwitchRequest
{
CdnSetWafBlackRuleSwitchExecutor* excutor = [[CdnSetWafBlackRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setWafBlackRuleSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafBlackRuleSwitchResponse* response = [[CdnSetWafBlackRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setWafBlackRuleSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setWafBlackRuleSwitchAsyncWithRequest:(CdnSetWafBlackRuleSwitchRequest*) setWafBlackRuleSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetWafBlackRuleSwitchResponse* _Nullable setWafBlackRuleSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetWafBlackRuleSwitchExecutor* excutor = [[CdnSetWafBlackRuleSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setWafBlackRuleSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafBlackRuleSwitchResponse* response = [[CdnSetWafBlackRuleSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDefaultHttpHeaderKey sync request
@param queryDefaultHttpHeaderKeyRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDefaultHttpHeaderKeyResponse` the request response data model
*/
-(NSDictionary*) queryDefaultHttpHeaderKeySyncWithRequest:(CdnQueryDefaultHttpHeaderKeyRequest*) queryDefaultHttpHeaderKeyRequest
{
CdnQueryDefaultHttpHeaderKeyExecutor* excutor = [[CdnQueryDefaultHttpHeaderKeyExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDefaultHttpHeaderKeyRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDefaultHttpHeaderKeyResponse* response = [[CdnQueryDefaultHttpHeaderKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDefaultHttpHeaderKeyResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDefaultHttpHeaderKeyAsyncWithRequest:(CdnQueryDefaultHttpHeaderKeyRequest*) queryDefaultHttpHeaderKeyRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDefaultHttpHeaderKeyResponse* _Nullable queryDefaultHttpHeaderKeyResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDefaultHttpHeaderKeyExecutor* excutor = [[CdnQueryDefaultHttpHeaderKeyExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDefaultHttpHeaderKeyRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDefaultHttpHeaderKeyResponse* response = [[CdnQueryDefaultHttpHeaderKeyResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setMonitor sync request
@param setMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setMonitorResponse` the request response data model
*/
-(NSDictionary*) setMonitorSyncWithRequest:(CdnSetMonitorRequest*) setMonitorRequest
{
CdnSetMonitorExecutor* excutor = [[CdnSetMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetMonitorResponse* response = [[CdnSetMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setMonitorAsyncWithRequest:(CdnSetMonitorRequest*) setMonitorRequest
                       completionHandler:(void(^)(int statusCode,CdnSetMonitorResponse* _Nullable setMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetMonitorExecutor* excutor = [[CdnSetMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetMonitorResponse* response = [[CdnSetMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteDomain sync request
@param deleteDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDomainResponse` the request response data model
*/
-(NSDictionary*) deleteDomainSyncWithRequest:(CdnDeleteDomainRequest*) deleteDomainRequest
{
CdnDeleteDomainExecutor* excutor = [[CdnDeleteDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteDomainResponse* response = [[CdnDeleteDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteDomainAsyncWithRequest:(CdnDeleteDomainRequest*) deleteDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteDomainResponse* _Nullable deleteDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteDomainExecutor* excutor = [[CdnDeleteDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteDomainResponse* response = [[CdnDeleteDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDomainListByFilter sync request
@param getDomainListByFilterRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDomainListByFilterResponse` the request response data model
*/
-(NSDictionary*) getDomainListByFilterSyncWithRequest:(CdnGetDomainListByFilterRequest*) getDomainListByFilterRequest
{
CdnGetDomainListByFilterExecutor* excutor = [[CdnGetDomainListByFilterExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDomainListByFilterRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainListByFilterResponse* response = [[CdnGetDomainListByFilterResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDomainListByFilterResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDomainListByFilterAsyncWithRequest:(CdnGetDomainListByFilterRequest*) getDomainListByFilterRequest
                       completionHandler:(void(^)(int statusCode,CdnGetDomainListByFilterResponse* _Nullable getDomainListByFilterResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetDomainListByFilterExecutor* excutor = [[CdnGetDomainListByFilterExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDomainListByFilterRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetDomainListByFilterResponse* response = [[CdnGetDomainListByFilterResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryUserAgent sync request
@param queryUserAgentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryUserAgentResponse` the request response data model
*/
-(NSDictionary*) queryUserAgentSyncWithRequest:(CdnQueryUserAgentRequest*) queryUserAgentRequest
{
CdnQueryUserAgentExecutor* excutor = [[CdnQueryUserAgentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryUserAgentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryUserAgentResponse* response = [[CdnQueryUserAgentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryUserAgentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryUserAgentAsyncWithRequest:(CdnQueryUserAgentRequest*) queryUserAgentRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryUserAgentResponse* _Nullable queryUserAgentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryUserAgentExecutor* excutor = [[CdnQueryUserAgentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryUserAgentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryUserAgentResponse* response = [[CdnQueryUserAgentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
wafQueryPv sync request
@param wafQueryPvRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `wafQueryPvResponse` the request response data model
*/
-(NSDictionary*) wafQueryPvSyncWithRequest:(CdnWafQueryPvRequest*) wafQueryPvRequest
{
CdnWafQueryPvExecutor* excutor = [[CdnWafQueryPvExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:wafQueryPvRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryPvResponse* response = [[CdnWafQueryPvResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"wafQueryPvResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)wafQueryPvAsyncWithRequest:(CdnWafQueryPvRequest*) wafQueryPvRequest
                       completionHandler:(void(^)(int statusCode,CdnWafQueryPvResponse* _Nullable wafQueryPvResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnWafQueryPvExecutor* excutor = [[CdnWafQueryPvExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:wafQueryPvRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnWafQueryPvResponse* response = [[CdnWafQueryPvResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryPushDomainORAppOrStream sync request
@param queryPushDomainORAppOrStreamRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryPushDomainORAppOrStreamResponse` the request response data model
*/
-(NSDictionary*) queryPushDomainORAppOrStreamSyncWithRequest:(CdnQueryPushDomainORAppOrStreamRequest*) queryPushDomainORAppOrStreamRequest
{
CdnQueryPushDomainORAppOrStreamExecutor* excutor = [[CdnQueryPushDomainORAppOrStreamExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryPushDomainORAppOrStreamRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryPushDomainORAppOrStreamResponse* response = [[CdnQueryPushDomainORAppOrStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryPushDomainORAppOrStreamResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryPushDomainORAppOrStreamAsyncWithRequest:(CdnQueryPushDomainORAppOrStreamRequest*) queryPushDomainORAppOrStreamRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryPushDomainORAppOrStreamResponse* _Nullable queryPushDomainORAppOrStreamResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryPushDomainORAppOrStreamExecutor* excutor = [[CdnQueryPushDomainORAppOrStreamExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryPushDomainORAppOrStreamRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryPushDomainORAppOrStreamResponse* response = [[CdnQueryPushDomainORAppOrStreamResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryFollowRedirect sync request
@param queryFollowRedirectRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryFollowRedirectResponse` the request response data model
*/
-(NSDictionary*) queryFollowRedirectSyncWithRequest:(CdnQueryFollowRedirectRequest*) queryFollowRedirectRequest
{
CdnQueryFollowRedirectExecutor* excutor = [[CdnQueryFollowRedirectExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryFollowRedirectRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryFollowRedirectResponse* response = [[CdnQueryFollowRedirectResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryFollowRedirectResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryFollowRedirectAsyncWithRequest:(CdnQueryFollowRedirectRequest*) queryFollowRedirectRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryFollowRedirectResponse* _Nullable queryFollowRedirectResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryFollowRedirectExecutor* excutor = [[CdnQueryFollowRedirectExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryFollowRedirectRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryFollowRedirectResponse* response = [[CdnQueryFollowRedirectResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteCacheRule sync request
@param deleteCacheRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteCacheRuleResponse` the request response data model
*/
-(NSDictionary*) deleteCacheRuleSyncWithRequest:(CdnDeleteCacheRuleRequest*) deleteCacheRuleRequest
{
CdnDeleteCacheRuleExecutor* excutor = [[CdnDeleteCacheRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteCacheRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteCacheRuleResponse* response = [[CdnDeleteCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteCacheRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteCacheRuleAsyncWithRequest:(CdnDeleteCacheRuleRequest*) deleteCacheRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteCacheRuleResponse* _Nullable deleteCacheRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteCacheRuleExecutor* excutor = [[CdnDeleteCacheRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteCacheRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteCacheRuleResponse* response = [[CdnDeleteCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryNetProtectionRulesSwitch sync request
@param queryNetProtectionRulesSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryNetProtectionRulesSwitchResponse` the request response data model
*/
-(NSDictionary*) queryNetProtectionRulesSwitchSyncWithRequest:(CdnQueryNetProtectionRulesSwitchRequest*) queryNetProtectionRulesSwitchRequest
{
CdnQueryNetProtectionRulesSwitchExecutor* excutor = [[CdnQueryNetProtectionRulesSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryNetProtectionRulesSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryNetProtectionRulesSwitchResponse* response = [[CdnQueryNetProtectionRulesSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryNetProtectionRulesSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryNetProtectionRulesSwitchAsyncWithRequest:(CdnQueryNetProtectionRulesSwitchRequest*) queryNetProtectionRulesSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryNetProtectionRulesSwitchResponse* _Nullable queryNetProtectionRulesSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryNetProtectionRulesSwitchExecutor* excutor = [[CdnQueryNetProtectionRulesSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryNetProtectionRulesSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryNetProtectionRulesSwitchResponse* response = [[CdnQueryNetProtectionRulesSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainGroupList sync request
@param queryDomainGroupListRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainGroupListResponse` the request response data model
*/
-(NSDictionary*) queryDomainGroupListSyncWithRequest:(CdnQueryDomainGroupListRequest*) queryDomainGroupListRequest
{
CdnQueryDomainGroupListExecutor* excutor = [[CdnQueryDomainGroupListExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainGroupListRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainGroupListResponse* response = [[CdnQueryDomainGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainGroupListResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainGroupListAsyncWithRequest:(CdnQueryDomainGroupListRequest*) queryDomainGroupListRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainGroupListResponse* _Nullable queryDomainGroupListResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainGroupListExecutor* excutor = [[CdnQueryDomainGroupListExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainGroupListRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainGroupListResponse* response = [[CdnQueryDomainGroupListResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDomainsNotInGroup sync request
@param queryDomainsNotInGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDomainsNotInGroupResponse` the request response data model
*/
-(NSDictionary*) queryDomainsNotInGroupSyncWithRequest:(CdnQueryDomainsNotInGroupRequest*) queryDomainsNotInGroupRequest
{
CdnQueryDomainsNotInGroupExecutor* excutor = [[CdnQueryDomainsNotInGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDomainsNotInGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainsNotInGroupResponse* response = [[CdnQueryDomainsNotInGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDomainsNotInGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDomainsNotInGroupAsyncWithRequest:(CdnQueryDomainsNotInGroupRequest*) queryDomainsNotInGroupRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDomainsNotInGroupResponse* _Nullable queryDomainsNotInGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDomainsNotInGroupExecutor* excutor = [[CdnQueryDomainsNotInGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDomainsNotInGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDomainsNotInGroupResponse* response = [[CdnQueryDomainsNotInGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryFollowSourceProtocol sync request
@param queryFollowSourceProtocolRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryFollowSourceProtocolResponse` the request response data model
*/
-(NSDictionary*) queryFollowSourceProtocolSyncWithRequest:(CdnQueryFollowSourceProtocolRequest*) queryFollowSourceProtocolRequest
{
CdnQueryFollowSourceProtocolExecutor* excutor = [[CdnQueryFollowSourceProtocolExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryFollowSourceProtocolRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryFollowSourceProtocolResponse* response = [[CdnQueryFollowSourceProtocolResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryFollowSourceProtocolResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryFollowSourceProtocolAsyncWithRequest:(CdnQueryFollowSourceProtocolRequest*) queryFollowSourceProtocolRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryFollowSourceProtocolResponse* _Nullable queryFollowSourceProtocolResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryFollowSourceProtocolExecutor* excutor = [[CdnQueryFollowSourceProtocolExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryFollowSourceProtocolRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryFollowSourceProtocolResponse* response = [[CdnQueryFollowSourceProtocolResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateDomainGroup sync request
@param updateDomainGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateDomainGroupResponse` the request response data model
*/
-(NSDictionary*) updateDomainGroupSyncWithRequest:(CdnUpdateDomainGroupRequest*) updateDomainGroupRequest
{
CdnUpdateDomainGroupExecutor* excutor = [[CdnUpdateDomainGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateDomainGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateDomainGroupResponse* response = [[CdnUpdateDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateDomainGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateDomainGroupAsyncWithRequest:(CdnUpdateDomainGroupRequest*) updateDomainGroupRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateDomainGroupResponse* _Nullable updateDomainGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateDomainGroupExecutor* excutor = [[CdnUpdateDomainGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateDomainGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateDomainGroupResponse* response = [[CdnUpdateDomainGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getSslCertDetail sync request
@param getSslCertDetailRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getSslCertDetailResponse` the request response data model
*/
-(NSDictionary*) getSslCertDetailSyncWithRequest:(CdnGetSslCertDetailRequest*) getSslCertDetailRequest
{
CdnGetSslCertDetailExecutor* excutor = [[CdnGetSslCertDetailExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getSslCertDetailRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetSslCertDetailResponse* response = [[CdnGetSslCertDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getSslCertDetailResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getSslCertDetailAsyncWithRequest:(CdnGetSslCertDetailRequest*) getSslCertDetailRequest
                       completionHandler:(void(^)(int statusCode,CdnGetSslCertDetailResponse* _Nullable getSslCertDetailResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnGetSslCertDetailExecutor* excutor = [[CdnGetSslCertDetailExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getSslCertDetailRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnGetSslCertDetailResponse* response = [[CdnGetSslCertDetailResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describebindedDomains sync request
@param describebindedDomainsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describebindedDomainsResponse` the request response data model
*/
-(NSDictionary*) describebindedDomainsSyncWithRequest:(CdnDescribebindedDomainsRequest*) describebindedDomainsRequest
{
CdnDescribebindedDomainsExecutor* excutor = [[CdnDescribebindedDomainsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describebindedDomainsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDescribebindedDomainsResponse* response = [[CdnDescribebindedDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describebindedDomainsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describebindedDomainsAsyncWithRequest:(CdnDescribebindedDomainsRequest*) describebindedDomainsRequest
                       completionHandler:(void(^)(int statusCode,CdnDescribebindedDomainsResponse* _Nullable describebindedDomainsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDescribebindedDomainsExecutor* excutor = [[CdnDescribebindedDomainsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describebindedDomainsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDescribebindedDomainsResponse* response = [[CdnDescribebindedDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopDomain sync request
@param stopDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopDomainResponse` the request response data model
*/
-(NSDictionary*) stopDomainSyncWithRequest:(CdnStopDomainRequest*) stopDomainRequest
{
CdnStopDomainExecutor* excutor = [[CdnStopDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStopDomainResponse* response = [[CdnStopDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopDomainAsyncWithRequest:(CdnStopDomainRequest*) stopDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnStopDomainResponse* _Nullable stopDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnStopDomainExecutor* excutor = [[CdnStopDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnStopDomainResponse* response = [[CdnStopDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryWafSwitch sync request
@param queryWafSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryWafSwitchResponse` the request response data model
*/
-(NSDictionary*) queryWafSwitchSyncWithRequest:(CdnQueryWafSwitchRequest*) queryWafSwitchRequest
{
CdnQueryWafSwitchExecutor* excutor = [[CdnQueryWafSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryWafSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafSwitchResponse* response = [[CdnQueryWafSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryWafSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryWafSwitchAsyncWithRequest:(CdnQueryWafSwitchRequest*) queryWafSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryWafSwitchResponse* _Nullable queryWafSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryWafSwitchExecutor* excutor = [[CdnQueryWafSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryWafSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryWafSwitchResponse* response = [[CdnQueryWafSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describePublishDomains sync request
@param describePublishDomainsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describePublishDomainsResponse` the request response data model
*/
-(NSDictionary*) describePublishDomainsSyncWithRequest:(CdnDescribePublishDomainsRequest*) describePublishDomainsRequest
{
CdnDescribePublishDomainsExecutor* excutor = [[CdnDescribePublishDomainsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describePublishDomainsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDescribePublishDomainsResponse* response = [[CdnDescribePublishDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describePublishDomainsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describePublishDomainsAsyncWithRequest:(CdnDescribePublishDomainsRequest*) describePublishDomainsRequest
                       completionHandler:(void(^)(int statusCode,CdnDescribePublishDomainsResponse* _Nullable describePublishDomainsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDescribePublishDomainsExecutor* excutor = [[CdnDescribePublishDomainsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describePublishDomainsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDescribePublishDomainsResponse* response = [[CdnDescribePublishDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRefreshTask sync request
@param createRefreshTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRefreshTaskResponse` the request response data model
*/
-(NSDictionary*) createRefreshTaskSyncWithRequest:(CdnCreateRefreshTaskRequest*) createRefreshTaskRequest
{
CdnCreateRefreshTaskExecutor* excutor = [[CdnCreateRefreshTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRefreshTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskResponse* response = [[CdnCreateRefreshTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRefreshTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRefreshTaskAsyncWithRequest:(CdnCreateRefreshTaskRequest*) createRefreshTaskRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateRefreshTaskResponse* _Nullable createRefreshTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateRefreshTaskExecutor* excutor = [[CdnCreateRefreshTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRefreshTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskResponse* response = [[CdnCreateRefreshTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryNetProtectionRules sync request
@param queryNetProtectionRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryNetProtectionRulesResponse` the request response data model
*/
-(NSDictionary*) queryNetProtectionRulesSyncWithRequest:(CdnQueryNetProtectionRulesRequest*) queryNetProtectionRulesRequest
{
CdnQueryNetProtectionRulesExecutor* excutor = [[CdnQueryNetProtectionRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryNetProtectionRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryNetProtectionRulesResponse* response = [[CdnQueryNetProtectionRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryNetProtectionRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryNetProtectionRulesAsyncWithRequest:(CdnQueryNetProtectionRulesRequest*) queryNetProtectionRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryNetProtectionRulesResponse* _Nullable queryNetProtectionRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryNetProtectionRulesExecutor* excutor = [[CdnQueryNetProtectionRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryNetProtectionRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryNetProtectionRulesResponse* response = [[CdnQueryNetProtectionRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
previewCertificate sync request
@param previewCertificateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `previewCertificateResponse` the request response data model
*/
-(NSDictionary*) previewCertificateSyncWithRequest:(CdnPreviewCertificateRequest*) previewCertificateRequest
{
CdnPreviewCertificateExecutor* excutor = [[CdnPreviewCertificateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:previewCertificateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnPreviewCertificateResponse* response = [[CdnPreviewCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"previewCertificateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)previewCertificateAsyncWithRequest:(CdnPreviewCertificateRequest*) previewCertificateRequest
                       completionHandler:(void(^)(int statusCode,CdnPreviewCertificateResponse* _Nullable previewCertificateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnPreviewCertificateExecutor* excutor = [[CdnPreviewCertificateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:previewCertificateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnPreviewCertificateResponse* response = [[CdnPreviewCertificateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryDdosGraph sync request
@param queryDdosGraphRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryDdosGraphResponse` the request response data model
*/
-(NSDictionary*) queryDdosGraphSyncWithRequest:(CdnQueryDdosGraphRequest*) queryDdosGraphRequest
{
CdnQueryDdosGraphExecutor* excutor = [[CdnQueryDdosGraphExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryDdosGraphRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDdosGraphResponse* response = [[CdnQueryDdosGraphResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryDdosGraphResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryDdosGraphAsyncWithRequest:(CdnQueryDdosGraphRequest*) queryDdosGraphRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryDdosGraphResponse* _Nullable queryDdosGraphResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryDdosGraphExecutor* excutor = [[CdnQueryDdosGraphExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryDdosGraphRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryDdosGraphResponse* response = [[CdnQueryDdosGraphResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteWafBlackRules sync request
@param deleteWafBlackRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteWafBlackRulesResponse` the request response data model
*/
-(NSDictionary*) deleteWafBlackRulesSyncWithRequest:(CdnDeleteWafBlackRulesRequest*) deleteWafBlackRulesRequest
{
CdnDeleteWafBlackRulesExecutor* excutor = [[CdnDeleteWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteWafBlackRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteWafBlackRulesResponse* response = [[CdnDeleteWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteWafBlackRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteWafBlackRulesAsyncWithRequest:(CdnDeleteWafBlackRulesRequest*) deleteWafBlackRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteWafBlackRulesResponse* _Nullable deleteWafBlackRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteWafBlackRulesExecutor* excutor = [[CdnDeleteWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteWafBlackRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteWafBlackRulesResponse* response = [[CdnDeleteWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateWafBlackRule sync request
@param updateWafBlackRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateWafBlackRuleResponse` the request response data model
*/
-(NSDictionary*) updateWafBlackRuleSyncWithRequest:(CdnUpdateWafBlackRuleRequest*) updateWafBlackRuleRequest
{
CdnUpdateWafBlackRuleExecutor* excutor = [[CdnUpdateWafBlackRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateWafBlackRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWafBlackRuleResponse* response = [[CdnUpdateWafBlackRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateWafBlackRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateWafBlackRuleAsyncWithRequest:(CdnUpdateWafBlackRuleRequest*) updateWafBlackRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateWafBlackRuleResponse* _Nullable updateWafBlackRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateWafBlackRuleExecutor* excutor = [[CdnUpdateWafBlackRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateWafBlackRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateWafBlackRuleResponse* response = [[CdnUpdateWafBlackRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
enableWafBlackRules sync request
@param enableWafBlackRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `enableWafBlackRulesResponse` the request response data model
*/
-(NSDictionary*) enableWafBlackRulesSyncWithRequest:(CdnEnableWafBlackRulesRequest*) enableWafBlackRulesRequest
{
CdnEnableWafBlackRulesExecutor* excutor = [[CdnEnableWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:enableWafBlackRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableWafBlackRulesResponse* response = [[CdnEnableWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"enableWafBlackRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)enableWafBlackRulesAsyncWithRequest:(CdnEnableWafBlackRulesRequest*) enableWafBlackRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnEnableWafBlackRulesResponse* _Nullable enableWafBlackRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnEnableWafBlackRulesExecutor* excutor = [[CdnEnableWafBlackRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:enableWafBlackRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnEnableWafBlackRulesResponse* response = [[CdnEnableWafBlackRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryAccesskeyConfig sync request
@param queryAccesskeyConfigRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryAccesskeyConfigResponse` the request response data model
*/
-(NSDictionary*) queryAccesskeyConfigSyncWithRequest:(CdnQueryAccesskeyConfigRequest*) queryAccesskeyConfigRequest
{
CdnQueryAccesskeyConfigExecutor* excutor = [[CdnQueryAccesskeyConfigExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryAccesskeyConfigRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAccesskeyConfigResponse* response = [[CdnQueryAccesskeyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryAccesskeyConfigResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryAccesskeyConfigAsyncWithRequest:(CdnQueryAccesskeyConfigRequest*) queryAccesskeyConfigRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryAccesskeyConfigResponse* _Nullable queryAccesskeyConfigResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryAccesskeyConfigExecutor* excutor = [[CdnQueryAccesskeyConfigExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryAccesskeyConfigRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryAccesskeyConfigResponse* response = [[CdnQueryAccesskeyConfigResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
disableCCProtectRule sync request
@param disableCCProtectRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `disableCCProtectRuleResponse` the request response data model
*/
-(NSDictionary*) disableCCProtectRuleSyncWithRequest:(CdnDisableCCProtectRuleRequest*) disableCCProtectRuleRequest
{
CdnDisableCCProtectRuleExecutor* excutor = [[CdnDisableCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:disableCCProtectRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableCCProtectRuleResponse* response = [[CdnDisableCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"disableCCProtectRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)disableCCProtectRuleAsyncWithRequest:(CdnDisableCCProtectRuleRequest*) disableCCProtectRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnDisableCCProtectRuleResponse* _Nullable disableCCProtectRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDisableCCProtectRuleExecutor* excutor = [[CdnDisableCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:disableCCProtectRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDisableCCProtectRuleResponse* response = [[CdnDisableCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRefreshTaskForCallback sync request
@param createRefreshTaskForCallbackRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRefreshTaskForCallbackResponse` the request response data model
*/
-(NSDictionary*) createRefreshTaskForCallbackSyncWithRequest:(CdnCreateRefreshTaskForCallbackRequest*) createRefreshTaskForCallbackRequest
{
CdnCreateRefreshTaskForCallbackExecutor* excutor = [[CdnCreateRefreshTaskForCallbackExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRefreshTaskForCallbackRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskForCallbackResponse* response = [[CdnCreateRefreshTaskForCallbackResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRefreshTaskForCallbackResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRefreshTaskForCallbackAsyncWithRequest:(CdnCreateRefreshTaskForCallbackRequest*) createRefreshTaskForCallbackRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateRefreshTaskForCallbackResponse* _Nullable createRefreshTaskForCallbackResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateRefreshTaskForCallbackExecutor* excutor = [[CdnCreateRefreshTaskForCallbackExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRefreshTaskForCallbackRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateRefreshTaskForCallbackResponse* response = [[CdnCreateRefreshTaskForCallbackResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyLiveDomainForwardCustomVhost sync request
@param modifyLiveDomainForwardCustomVhostRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyLiveDomainForwardCustomVhostResponse` the request response data model
*/
-(NSDictionary*) modifyLiveDomainForwardCustomVhostSyncWithRequest:(CdnModifyLiveDomainForwardCustomVhostRequest*) modifyLiveDomainForwardCustomVhostRequest
{
CdnModifyLiveDomainForwardCustomVhostExecutor* excutor = [[CdnModifyLiveDomainForwardCustomVhostExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyLiveDomainForwardCustomVhostRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnModifyLiveDomainForwardCustomVhostResponse* response = [[CdnModifyLiveDomainForwardCustomVhostResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyLiveDomainForwardCustomVhostResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyLiveDomainForwardCustomVhostAsyncWithRequest:(CdnModifyLiveDomainForwardCustomVhostRequest*) modifyLiveDomainForwardCustomVhostRequest
                       completionHandler:(void(^)(int statusCode,CdnModifyLiveDomainForwardCustomVhostResponse* _Nullable modifyLiveDomainForwardCustomVhostResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnModifyLiveDomainForwardCustomVhostExecutor* excutor = [[CdnModifyLiveDomainForwardCustomVhostExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyLiveDomainForwardCustomVhostRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnModifyLiveDomainForwardCustomVhostResponse* response = [[CdnModifyLiveDomainForwardCustomVhostResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
batchCreate sync request
@param batchCreateRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `batchCreateResponse` the request response data model
*/
-(NSDictionary*) batchCreateSyncWithRequest:(CdnBatchCreateRequest*) batchCreateRequest
{
CdnBatchCreateExecutor* excutor = [[CdnBatchCreateExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:batchCreateRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchCreateResponse* response = [[CdnBatchCreateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"batchCreateResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)batchCreateAsyncWithRequest:(CdnBatchCreateRequest*) batchCreateRequest
                       completionHandler:(void(^)(int statusCode,CdnBatchCreateResponse* _Nullable batchCreateResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnBatchCreateExecutor* excutor = [[CdnBatchCreateExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:batchCreateRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchCreateResponse* response = [[CdnBatchCreateResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setForwardAuthentication sync request
@param setForwardAuthenticationRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setForwardAuthenticationResponse` the request response data model
*/
-(NSDictionary*) setForwardAuthenticationSyncWithRequest:(CdnSetForwardAuthenticationRequest*) setForwardAuthenticationRequest
{
CdnSetForwardAuthenticationExecutor* excutor = [[CdnSetForwardAuthenticationExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setForwardAuthenticationRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetForwardAuthenticationResponse* response = [[CdnSetForwardAuthenticationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setForwardAuthenticationResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setForwardAuthenticationAsyncWithRequest:(CdnSetForwardAuthenticationRequest*) setForwardAuthenticationRequest
                       completionHandler:(void(^)(int statusCode,CdnSetForwardAuthenticationResponse* _Nullable setForwardAuthenticationResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetForwardAuthenticationExecutor* excutor = [[CdnSetForwardAuthenticationExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setForwardAuthenticationRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetForwardAuthenticationResponse* response = [[CdnSetForwardAuthenticationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryLiveTrafficGroupSum sync request
@param queryLiveTrafficGroupSumRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryLiveTrafficGroupSumResponse` the request response data model
*/
-(NSDictionary*) queryLiveTrafficGroupSumSyncWithRequest:(CdnQueryLiveTrafficGroupSumRequest*) queryLiveTrafficGroupSumRequest
{
CdnQueryLiveTrafficGroupSumExecutor* excutor = [[CdnQueryLiveTrafficGroupSumExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryLiveTrafficGroupSumRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveTrafficGroupSumResponse* response = [[CdnQueryLiveTrafficGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryLiveTrafficGroupSumResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryLiveTrafficGroupSumAsyncWithRequest:(CdnQueryLiveTrafficGroupSumRequest*) queryLiveTrafficGroupSumRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryLiveTrafficGroupSumResponse* _Nullable queryLiveTrafficGroupSumResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryLiveTrafficGroupSumExecutor* excutor = [[CdnQueryLiveTrafficGroupSumExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryLiveTrafficGroupSumRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryLiveTrafficGroupSumResponse* response = [[CdnQueryLiveTrafficGroupSumResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteWafWhiteRules sync request
@param deleteWafWhiteRulesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteWafWhiteRulesResponse` the request response data model
*/
-(NSDictionary*) deleteWafWhiteRulesSyncWithRequest:(CdnDeleteWafWhiteRulesRequest*) deleteWafWhiteRulesRequest
{
CdnDeleteWafWhiteRulesExecutor* excutor = [[CdnDeleteWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteWafWhiteRulesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteWafWhiteRulesResponse* response = [[CdnDeleteWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteWafWhiteRulesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteWafWhiteRulesAsyncWithRequest:(CdnDeleteWafWhiteRulesRequest*) deleteWafWhiteRulesRequest
                       completionHandler:(void(^)(int statusCode,CdnDeleteWafWhiteRulesResponse* _Nullable deleteWafWhiteRulesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnDeleteWafWhiteRulesExecutor* excutor = [[CdnDeleteWafWhiteRulesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteWafWhiteRulesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnDeleteWafWhiteRulesResponse* response = [[CdnDeleteWafWhiteRulesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateCCProtectRule sync request
@param updateCCProtectRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateCCProtectRuleResponse` the request response data model
*/
-(NSDictionary*) updateCCProtectRuleSyncWithRequest:(CdnUpdateCCProtectRuleRequest*) updateCCProtectRuleRequest
{
CdnUpdateCCProtectRuleExecutor* excutor = [[CdnUpdateCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateCCProtectRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateCCProtectRuleResponse* response = [[CdnUpdateCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateCCProtectRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateCCProtectRuleAsyncWithRequest:(CdnUpdateCCProtectRuleRequest*) updateCCProtectRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateCCProtectRuleResponse* _Nullable updateCCProtectRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateCCProtectRuleExecutor* excutor = [[CdnUpdateCCProtectRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateCCProtectRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateCCProtectRuleResponse* response = [[CdnUpdateCCProtectRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryOnlineBillingType sync request
@param queryOnlineBillingTypeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryOnlineBillingTypeResponse` the request response data model
*/
-(NSDictionary*) queryOnlineBillingTypeSyncWithRequest:(CdnQueryOnlineBillingTypeRequest*) queryOnlineBillingTypeRequest
{
CdnQueryOnlineBillingTypeExecutor* excutor = [[CdnQueryOnlineBillingTypeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryOnlineBillingTypeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryOnlineBillingTypeResponse* response = [[CdnQueryOnlineBillingTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryOnlineBillingTypeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryOnlineBillingTypeAsyncWithRequest:(CdnQueryOnlineBillingTypeRequest*) queryOnlineBillingTypeRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryOnlineBillingTypeResponse* _Nullable queryOnlineBillingTypeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryOnlineBillingTypeExecutor* excutor = [[CdnQueryOnlineBillingTypeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryOnlineBillingTypeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryOnlineBillingTypeResponse* response = [[CdnQueryOnlineBillingTypeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
queryRefreshTaskById sync request
@param queryRefreshTaskByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `queryRefreshTaskByIdResponse` the request response data model
*/
-(NSDictionary*) queryRefreshTaskByIdSyncWithRequest:(CdnQueryRefreshTaskByIdRequest*) queryRefreshTaskByIdRequest
{
CdnQueryRefreshTaskByIdExecutor* excutor = [[CdnQueryRefreshTaskByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:queryRefreshTaskByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskByIdResponse* response = [[CdnQueryRefreshTaskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"queryRefreshTaskByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)queryRefreshTaskByIdAsyncWithRequest:(CdnQueryRefreshTaskByIdRequest*) queryRefreshTaskByIdRequest
                       completionHandler:(void(^)(int statusCode,CdnQueryRefreshTaskByIdResponse* _Nullable queryRefreshTaskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnQueryRefreshTaskByIdExecutor* excutor = [[CdnQueryRefreshTaskByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:queryRefreshTaskByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnQueryRefreshTaskByIdResponse* response = [[CdnQueryRefreshTaskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updateCacheRule sync request
@param updateCacheRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updateCacheRuleResponse` the request response data model
*/
-(NSDictionary*) updateCacheRuleSyncWithRequest:(CdnUpdateCacheRuleRequest*) updateCacheRuleRequest
{
CdnUpdateCacheRuleExecutor* excutor = [[CdnUpdateCacheRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updateCacheRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateCacheRuleResponse* response = [[CdnUpdateCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updateCacheRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updateCacheRuleAsyncWithRequest:(CdnUpdateCacheRuleRequest*) updateCacheRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnUpdateCacheRuleResponse* _Nullable updateCacheRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUpdateCacheRuleExecutor* excutor = [[CdnUpdateCacheRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updateCacheRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUpdateCacheRuleResponse* response = [[CdnUpdateCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setWafSwitch sync request
@param setWafSwitchRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setWafSwitchResponse` the request response data model
*/
-(NSDictionary*) setWafSwitchSyncWithRequest:(CdnSetWafSwitchRequest*) setWafSwitchRequest
{
CdnSetWafSwitchExecutor* excutor = [[CdnSetWafSwitchExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setWafSwitchRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafSwitchResponse* response = [[CdnSetWafSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setWafSwitchResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setWafSwitchAsyncWithRequest:(CdnSetWafSwitchRequest*) setWafSwitchRequest
                       completionHandler:(void(^)(int statusCode,CdnSetWafSwitchResponse* _Nullable setWafSwitchResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetWafSwitchExecutor* excutor = [[CdnSetWafSwitchExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setWafSwitchRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetWafSwitchResponse* response = [[CdnSetWafSwitchResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setStreamNotifyInfo sync request
@param setStreamNotifyInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setStreamNotifyInfoResponse` the request response data model
*/
-(NSDictionary*) setStreamNotifyInfoSyncWithRequest:(CdnSetStreamNotifyInfoRequest*) setStreamNotifyInfoRequest
{
CdnSetStreamNotifyInfoExecutor* excutor = [[CdnSetStreamNotifyInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setStreamNotifyInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetStreamNotifyInfoResponse* response = [[CdnSetStreamNotifyInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setStreamNotifyInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setStreamNotifyInfoAsyncWithRequest:(CdnSetStreamNotifyInfoRequest*) setStreamNotifyInfoRequest
                       completionHandler:(void(^)(int statusCode,CdnSetStreamNotifyInfoResponse* _Nullable setStreamNotifyInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetStreamNotifyInfoExecutor* excutor = [[CdnSetStreamNotifyInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setStreamNotifyInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetStreamNotifyInfoResponse* response = [[CdnSetStreamNotifyInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
uploadCert sync request
@param uploadCertRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `uploadCertResponse` the request response data model
*/
-(NSDictionary*) uploadCertSyncWithRequest:(CdnUploadCertRequest*) uploadCertRequest
{
CdnUploadCertExecutor* excutor = [[CdnUploadCertExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:uploadCertRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUploadCertResponse* response = [[CdnUploadCertResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"uploadCertResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)uploadCertAsyncWithRequest:(CdnUploadCertRequest*) uploadCertRequest
                       completionHandler:(void(^)(int statusCode,CdnUploadCertResponse* _Nullable uploadCertResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnUploadCertExecutor* excutor = [[CdnUploadCertExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:uploadCertRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnUploadCertResponse* response = [[CdnUploadCertResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
batchCreateLiveDomain sync request
@param batchCreateLiveDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `batchCreateLiveDomainResponse` the request response data model
*/
-(NSDictionary*) batchCreateLiveDomainSyncWithRequest:(CdnBatchCreateLiveDomainRequest*) batchCreateLiveDomainRequest
{
CdnBatchCreateLiveDomainExecutor* excutor = [[CdnBatchCreateLiveDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:batchCreateLiveDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchCreateLiveDomainResponse* response = [[CdnBatchCreateLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"batchCreateLiveDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)batchCreateLiveDomainAsyncWithRequest:(CdnBatchCreateLiveDomainRequest*) batchCreateLiveDomainRequest
                       completionHandler:(void(^)(int statusCode,CdnBatchCreateLiveDomainResponse* _Nullable batchCreateLiveDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnBatchCreateLiveDomainExecutor* excutor = [[CdnBatchCreateLiveDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:batchCreateLiveDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnBatchCreateLiveDomainResponse* response = [[CdnBatchCreateLiveDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createCacheRule sync request
@param createCacheRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createCacheRuleResponse` the request response data model
*/
-(NSDictionary*) createCacheRuleSyncWithRequest:(CdnCreateCacheRuleRequest*) createCacheRuleRequest
{
CdnCreateCacheRuleExecutor* excutor = [[CdnCreateCacheRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createCacheRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateCacheRuleResponse* response = [[CdnCreateCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createCacheRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createCacheRuleAsyncWithRequest:(CdnCreateCacheRuleRequest*) createCacheRuleRequest
                       completionHandler:(void(^)(int statusCode,CdnCreateCacheRuleResponse* _Nullable createCacheRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnCreateCacheRuleExecutor* excutor = [[CdnCreateCacheRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createCacheRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnCreateCacheRuleResponse* response = [[CdnCreateCacheRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
setSource sync request
@param setSourceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `setSourceResponse` the request response data model
*/
-(NSDictionary*) setSourceSyncWithRequest:(CdnSetSourceRequest*) setSourceRequest
{
CdnSetSourceExecutor* excutor = [[CdnSetSourceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:setSourceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetSourceResponse* response = [[CdnSetSourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"setSourceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)setSourceAsyncWithRequest:(CdnSetSourceRequest*) setSourceRequest
                       completionHandler:(void(^)(int statusCode,CdnSetSourceResponse* _Nullable setSourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
CdnSetSourceExecutor* excutor = [[CdnSetSourceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:setSourceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    CdnSetSourceResponse* response = [[CdnSetSourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 cdn common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) cdnCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)cdnCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
